バッチ スクリプトを使用して複数のフォルダーとサブファイルの名前を変更するにはどうすればよいですか?

バッチ スクリプトを使用して複数のフォルダーとサブファイルの名前を変更するにはどうすればよいですか?

特定のディレクトリとファイルを削除して名前を変更するクリーンアップツールを作成しています。個別にディレクトリとファイルの名前を変更したり削除したりすることはできますが、複数のフォルダの名前を変更したり、サブディレクトリ内のファイルの名前を変更したりすることはできません。これが私のスクリプトです:

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ビットバイナリとディレクトリの名前を に変更します。現在、私のスクリプトは、最初に定義されたフォルダの名前を正常に変更できます。(ただしバイナリではありません)、2 番目のフォルダーまたはバイナリではありません。

答え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"

関連情報