コマンドプロンプトで記号「%」はグローバル変数を示す演算子でもあり、バッチファイルで「%」を使用する場合は「%%」と2つ続けて記入する。例えば以下のようなバッチファイルper.batを実行すると、次のようになる。
@echo off
set s=abc%123
echo %s%
set s=abc%%123
echo %s%
実行してみる。
>per.bat
abc23
abc%123
「%1」はコマンドラインの第1引数を示すグローバル変数であるので、例えば以下のように実行すると次のようになる。
>per.bat ABC DEF HIJ
abcABC23
abc%123
なお、バッチファイルでは「%%」と表記する必要があるが、コマンドラインでは「%」がそのまま使えるため逆に「%%」と表記してはダメであることに注意。
>set str=abc%123
>echo %str%
abc%123
>set str=abc%%123
>echo %str%
abc%%123