Windowsのバッチファイルを作成する際、「SET」コマンドは環境変数を操作する重要な役割を果たします。
環境変数を設定・変更・削除することで、スクリプトの動作を制御でき、作業の自動化やカスタマイズが可能になります。
本記事では、「SET」コマンドの基本的な使い方から、応用的な活用方法まで詳しく解説します。
これを読めば、バッチスクリプトの効率が向上し、Windowsの自動化がスムーズに行えるようになります。
【SETコマンドとは?】
SETコマンドの基本概要
「SET」コマンドは、Windowsのコマンドプロンプトやバッチファイルで環境変数を設定・変更・削除するためのコマンドです。
環境変数を活用することで、スクリプトの柔軟性が向上し、動作環境に依存しない汎用的なスクリプトを作成できます。
【SETコマンドの基本構文】
SETコマンドの基本的な書き方
batコピーする編集するSET 変数名=値
これにより、新しい環境変数を設定したり、既存の変数の値を変更したりできます。
環境変数の参照方法
環境変数を参照するには、変数名を %
で囲みます。
batコピーする編集するECHO %変数名%
このコマンドを実行すると、設定された値が表示されます。
【SETコマンドの基本的な使い方】
1. 環境変数の設定
batコピーする編集するSET USERNAME=John
ECHO %USERNAME%
実行結果:
nginxコピーする編集するJohn
変数 USERNAME
に John
を代入し、その値を表示します。
2. 環境変数の変更
batコピーする編集するSET COLOR=Blue
SET COLOR=Red
ECHO %COLOR%
実行結果:
mathematicaコピーする編集するRed
後から代入した値に上書きされることが分かります。
3. 環境変数の削除
batコピーする編集するSET MYVAR=Hello
SET MYVAR=
ECHO %MYVAR%
実行結果:
nginxコピーする編集するECHO はオフになっています。
値が空になり、変数が未定義の状態になります。
【SETコマンドの応用テクニック】
1. ユーザー入力を受け取る
バッチファイルでユーザーの入力を受け取るには /P
オプションを使用します。
batコピーする編集するSET /P NAME=あなたの名前を入力してください:
ECHO こんにちは、%NAME% さん!
このスクリプトを実行すると、ユーザーが入力した名前を表示できます。
2. 計算結果を環境変数に格納する
数値計算を行う場合は /A
オプションを使用します。
batコピーする編集するSET /A RESULT=5+3
ECHO %RESULT%
実行結果:
コピーする編集する8
/A
オプションを使用すると、四則演算(+、-、*、/)が可能です。
3. 条件分岐で環境変数を利用する
環境変数を使ってIF文を活用することもできます。
batコピーする編集するSET /P AGE=年齢を入力してください:
IF %AGE% GEQ 20 (
ECHO あなたは成人です。
) ELSE (
ECHO あなたは未成年です。
)
このスクリプトでは、入力された年齢が20以上なら「成人」、それ以外なら「未成年」と表示されます。
4. ループ処理で環境変数を利用する
FORループと組み合わせることで、環境変数を使った繰り返し処理ができます。
batコピーする編集するFOR /L %%i IN (1,1,5) DO (
SET /A RESULT=%%i*2
ECHO 2×%%i=%RESULT%
)
実行結果:
コピーする編集する2×1=2
2×2=4
2×3=6
2×4=8
2×5=10
FORループを利用すると、計算処理を簡単に繰り返せます。
【SETXとの違い】
「SET」コマンドは、一時的な環境変数の設定に使用されますが、「SETX」コマンドを使うと、システム環境変数を永続的に変更できます。
SETとSETXの違い
コマンド | 設定の持続性 | 変更対象 |
---|---|---|
SET | 一時的 | 現在のセッションのみ |
SETX | 永続的 | システムやユーザー環境変数 |
SETXコマンドの使用例
batコピーする編集するSETX MYVAR "Hello World"
ECHO %MYVAR%
この場合、MYVAR
はPCを再起動しても保持されます。
【まとめ】
「SET」コマンドはバッチスクリプトの基本であり、環境変数を自在に操ることでスクリプトの柔軟性が向上します。
- 基本の使い方:変数の設定、参照、削除が可能
- 応用テクニック:ユーザー入力、計算、条件分岐、ループ処理に活用可能
- SETXとの違い:SETは一時的、SETXは永続的
バッチファイルを活用する際は、「SET」コマンドを適切に使いこなすことで、より効率的なスクリプトを作成できます。
ぜひ、今回の内容を実践し、Windowsの自動化を進めてみてください!