バッチファイル内の %2 はコマンドプロンプトでの実行時に無視されます

バッチファイル内の %2 はコマンドプロンプトでの実行時に無視されます

という名前の画像ファイルがありますfirst%20second.png

画像の名前を変更するファイルがありますtest.bat

次のようになります:

Timeout 3
Copy "C:\first%20second.png" "C:\sub\first%20second.png"
Timeout 3

バッチファイルを実行すると、代わりに次の処理が実行されます。

Copy "C:\first0second.png" "C:\sub\first0second.png"

%2含まれない

どうしてこれなの?

発生の実証

ここに画像の説明を入力してください

答え1

バッチ スクリプトで適切にエスケープするには、パーセント記号を 2 倍にする必要があります。

指示

Copy "C:\first%%20second.png" "C:\sub\first%%20second.png"

その他のリソース

関連情報