Obtenga la "última" versión de un directorio de directorios
Una pregunta interesante, ya que es un lote de Windows! dir
es tu amigo aquí; pedir prestado a La respuesta de PabloG sobre SO :
@ECHO OFF
FOR /F %%I IN ('DIR *.* /B /O:G-N') DO ECHO %%I & EXIT /B
Colocar en RootFolder
llamado lastversion.bat
(o lo que sea). Puedes probar invocando desde cmd.exe
1 .
Tenga en cuenta que sólo he probado esto usando un muy muy número limitado de "como una versión" directorios con nombre de directorio.
Explicación
FOR /F %%I IN
- Lazo ( FOR
) a través del siguiente conjunto de archivos ( /F
), usando la variable I
( %%I
) 2
'DIR *.* /B /O:G-N'
- Listar todos los archivos ( *.*
) en el directorio, en formato simple ( /B
), clasificación /O:
) Invertir alfabéticamente 3 ( -N
) directorio primero ( G
) 4
DO ECHO %%I & EXIT /B
- Imprimir el primero nombre de archivo y terminar inmediatamente ( EXIT
) la solo archivo por lotes ( /B
)
Notas al pie adicionales
1 @ECHO OFF
suprime el eco de comandos , pero probablemente ya sabias eso
2 %%I
- use dos signos de porcentaje dentro de un archivo por lotes, o si se trata de un aviso interactivo, solo %I
3 revertir alfabéticamente significa que no nos importa qué versión realmente se escribió para durar y simplemente estamos obteniendo el número de versión más alto; esto podría no ser deseable
4 Agrupe los directorios primero para que los archivos sin formato se ordenen hasta el final y, por lo tanto, se ignoren.