Categories: OS

Windowsのバッチコマンド「SET」の使い方を徹底解説!環境変数の設定から応用テクニックまで

Windowsのバッチファイルを作成する際、「SET」コマンドは環境変数を操作する重要な役割を果たします。
環境変数を設定・変更・削除することで、スクリプトの動作を制御でき、作業の自動化やカスタマイズが可能になります。

本記事では、「SET」コマンドの基本的な使い方から、応用的な活用方法まで詳しく解説します。
これを読めば、バッチスクリプトの効率が向上し、Windowsの自動化がスムーズに行えるようになります。


【SETコマンドとは?】

SETコマンドの基本概要

「SET」コマンドは、Windowsのコマンドプロンプトやバッチファイルで環境変数を設定・変更・削除するためのコマンドです。
環境変数を活用することで、スクリプトの柔軟性が向上し、動作環境に依存しない汎用的なスクリプトを作成できます。


【SETコマンドの基本構文】

SETコマンドの基本的な書き方

batコピーする編集するSET 変数名=値

これにより、新しい環境変数を設定したり、既存の変数の値を変更したりできます。

環境変数の参照方法

環境変数を参照するには、変数名を % で囲みます。

batコピーする編集するECHO %変数名%

このコマンドを実行すると、設定された値が表示されます。


【SETコマンドの基本的な使い方】

1. 環境変数の設定

batコピーする編集するSET USERNAME=John
ECHO %USERNAME%

実行結果:

nginxコピーする編集するJohn

変数 USERNAMEJohn を代入し、その値を表示します。

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の自動化を進めてみてください!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。