Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【コマンドプロンプト】バッチファイルで環境変数に「%」を含める

コマンドプロンプトで記号「%」はグローバル変数を示す演算子でもあり、バッチファイルで「%」を使用する場合は「%%」と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