Obtenha a "última" versão de um diretório de diretórios
Uma questão interessante, já que é o lote do Windows! dir
é seu amigo aqui; tomar emprestado de resposta de PabloG sobre SO :
@ECHO OFF
FOR /F %%I IN ('DIR *.* /B /O:G-N') DO ECHO %%I & EXIT /B
Coloque em RootFolder
denominado lastversion.bat
(ou qualquer outro). Você pode testar invocando a partir de cmd.exe
1 .
Por favor, note que eu só testei isso usando um número muito muito limitado de diretórios nomeados por diretório "version-like" .
Explicação
FOR /F %%I IN
- Loop ( FOR
) através do seguinte conjunto de arquivos ( /F
), usando a variável I
( %%I
) 2
'DIR *.* /B /O:G-N'
- Lista todos os arquivos ( *.*
) no diretório, no formato simples ( /B
), classificação ( /O:
) diretório alfabético 3 ( -N
) -primeiro ( G
) 4
DO ECHO %%I & EXIT /B
- Imprima o primeiro nome do arquivo e finalize imediatamente ( EXIT
) somente o arquivo em lote ( /B
)
Notas de rodapé adicionais
1 @ECHO OFF
suprime o eco de comando , mas você provavelmente sabia que já
2 %%I
- use dois sinais de porcentagem dentro de um arquivo de lote, ou se de um prompt interativo, apenas %I
3 inverter alfabeticamente significa que não estamos preocupados com qual versão foi realmente escrita para durar e apenas pegar o número de versão mais alto; isso pode não ser desejável
4 diretórios de grupos primeiro para que arquivos simples sejam classificados no final e, portanto, ignorados