如何使用批处理脚本重命名多个文件夹和子文件?

如何使用批处理脚本重命名多个文件夹和子文件?

我正在制作一个清理工具,它将删除并重命名一些指定的目录和文件。我可以单独地重命名和删除目录和文件,但我无法重命名多个文件夹,也无法重命名子目录中的文件。这是我的脚本:

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

如您所见,我想将 x86 目录中的 32 位可执行文件重命名为bin_x86.exe,然后将其包含的文件夹从 重命名x8632bit,然后对 64 位二进制文​​件和目录执行相同的操作。目前,我的脚本可以成功重命名第一个定义的文件夹(但不是二进制的),而不是第二个文件夹或二进制文件。

答案1

RENAME 命令不能在子目录中工作,因此简单的解决方案是cd在重命名文件之前进入批处理脚本中的目录。

cd x64
RENAME "bin.exe" "bin_x64.exe"
cd ..
RENAME "x64" "64bit"
cd x86
RENAME "bin.exe" "bin_x86.exe"
cd ..
RENAME "x86" "32bit"

相关内容