Linha de comando:
for /F %a in ('dir /L /B') do ren %a %a
lote:
for /F %%a in ('dir /L /B') do rename %%a %%a
Eu tenho uma estrutura de diretórios herdada de um aplicativo de desktop que estou transferindo para um aplicativo Android, e o Android não quer que os nomes dos arquivos tenham letras maiúsculas neles. Eu tinha originalmente decidido sugá-lo e renomeá-los manualmente (cerca de cem arquivos), mas depois descobri que o Windows estava frustrando até mesmo essas tentativas: QuotationMarks.png - > quotationmarks.png não cola, porque o Windows não faz distinção entre maiúsculas e minúsculas: nem registra como uma alteração de nome de arquivo. Eu tenho que QuotationMarks.png - > quotationmarks2.png - > quotationmarks.png para todos os arquivos, o que eu gostaria de evitar.
Então, há algum tipo de aplicativo de energia secreta que permitirá realizar esse lote de operações?
Este VBScript fará isso. Certifique-se de definir a variável objStartFolder
para o local correto. Salve como .VBS
e clique duas vezes para executar. Ele renomeará todos os arquivos no diretório especificado para todos os minúsculos.
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Myfolder"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
ObjFSO.MoveFile objStartFolder & "\" & ObjFile.Name, objStartFolder & "\" & lcase(ObjFile.Name)
Next
PS. Tecnicamente, não estou renomeando o arquivo, mas movendo-o, mas os resultados são os mesmos. A renomeação do arquivo falhará, já que o nome do arquivo já existe.