如何使用批次腳本重命名多個資料夾和子檔案?

如何使用批次腳本重命名多個資料夾和子檔案?

我正在製作一個清理工具,它將刪除並重命名一些指定的目錄和檔案。我可以單獨地重新命名和刪除目錄和文件,但我無法重命名多個資料夾,也無法重命名子目錄中的檔案。這是我的腳本:

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"

相關內容