Como posso renomear várias pastas e sub-arquivos com um script em lote?

1

Estou fazendo uma ferramenta de limpeza que irá excluir e renomear alguns diretórios e arquivos especificados. Eu posso individualmente renomear e excluir diretórios e arquivos, mas não consigo renomear mais de uma pasta e não consigo renomear arquivos dentro de subdiretórios. Aqui está o meu script:

if not exist Plugin mkdir Plugin
RENAME "xml" "XML"

RENAME "x64\bin.exe" "x64\bin_x64.exe"
RENAME "x64" "64bit"

RENAME "x86\bin.exe" "x86\bin_x86.exe"
RENAME "x86" "32bit"

rmdir Licenses /s /q
del bin_old.exe
del bin.exe.bak
del README.md
del license.txt
del components.xml
del InstallationLog.txt
del maintenancetool.dat
del maintenancetool.exe
del maintenancetool.ini
del maintenancetool.zip
del network.xml

Como você pode ver, eu quero renomear o executável de 32 bits dentro do diretório x86 para bin_x86.exe , então renomear sua pasta contendo de x86 para 32bit , e então o mesmo equivalente para o diretório e binário de 64 bits . Atualmente meu script pode renomear com sucesso a primeira pasta definida (mas não é binária) , e não a segunda pasta ou binário.

    
por Mr. Mendelli 08.03.2018 / 00:30

1 resposta

1

O comando RENAME não pode funcionar em subdiretórios, portanto a solução mais fácil seria cd nos diretórios do script em lote antes de renomear os arquivos.

cd x64
RENAME "bin.exe" "bin_x64.exe"
cd ..
RENAME "x64" "64bit"
cd x86
RENAME "bin.exe" "bin_x86.exe"
cd ..
RENAME "x86" "32bit"
    
por 08.03.2018 / 06:22