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.