特定のディレクトリとファイルを削除して名前を変更するクリーンアップツールを作成しています。個別にディレクトリとファイルの名前を変更したり削除したりすることはできますが、複数のフォルダの名前を変更したり、サブディレクトリ内のファイルの名前を変更したりすることはできません。これが私のスクリプトです:
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
、それを含むフォルダの名前を から に変更しx86
、32bit
次に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"