コマンド: "SET" がオンです Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. 利用可能
コマンドの例 "SET"
の
`SET`Windows コマンド プロンプトのコマンドは、環境変数を作成、表示、または変更するために使用されます。以下に使用例をいくつか示します。
`SET`-指示:
例 1: 新しい環境変数を作成します:
SET 新しい_VARIABLE=コンテンツ
説明:このコマンドは、という名前の新しい環境変数を作成します。
`新しい_VARIABLE`そしてその値
`コンテンツ`。
例 2: 既存の環境変数を表示します:
SET 既存_VARIABLE
説明:このコマンドは環境変数の値を表示します。
`既存_VARIABLE`で。
例 3: すべての環境変数を表示します:
SET
説明:を入力することで
`SET`特定の変数を指定しない場合、すべての環境変数とその値が表示されます。
例 4: 変数の削除:
SET 新しい_VARIABLE=
説明:これは環境変数の値です。
`新しい_VARIABLE`削除されました。
例 5: バッチ ファイルでの変数の使用:
ECHO %新しい_VARIABLE%
説明:このコマンドは環境変数の値を返します。
`新しい_VARIABLE`から。バッチ ファイルの構文
`%Variable%`環境変数の値にアクセスするために使用されます。
例 6: ユーザー入力を変数に保存します:
SET /P ユーザーエントリー=何かを入力してください:
説明:このコマンドは、ユーザーに何かを入力するよう求め、その入力を環境変数に保存します。
`ユーザーエントリー`。
多くの高度なオプションと機能があります。
`SET`コマンド (文字列の変更、バッチ スクリプトでの環境変数の使用など) を実行します。エントリーについて
`SET /?`コマンド プロンプトでは、利用可能なオプションのリストと詳細情報が表示されます。
"SET" Microsoft Windows ヘルプからの抜粋
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\WINNT>
cmd.exe 環境変数を表示、設定、または削除します。
SET [変数名=[文字列]]
変数名 環境変数名を指定します。
文字列 変数に割り当てる文字列を指定します。
現在の環境変数を表示するには、パラメータを指定せずに SET と入力してください。
コマンド拡張機能を有効にすると、SET は、次のように変更されます:
等号や値を指定せずに、変数名だけを指定して SET コマンドを実行すると、
SET コマンドに指定された名前に接頭辞が一致するすべての変数の値が
表示されます。たとえば、
SET P
と入力すると、文字 'P' で始まるすべての変数が表示されます。
変数名が現在の環境に見つからない場合は、SET コマンドは、ERRORLEVEL を
1 に設定します。
SET コマンドでは、変数の名前に等符号を使用することはできません。
SET コマンドには、2 つの新しいスイッチが追加されています:
SET /A 式
SET /P 変数=[プロンプト文字列]
/A スイッチは、等号の右側の文字列が、評価すべき数式であることを
指定します。式の評価はごく単純で、次の操作がサポートされます。
操作は、優先順位の高い順に示されています:
() - グループ化
! ~ - - 単項演算子
* / % - 算術演算子
+ - - 算術演算子
<< >> - 論理シフト
& - ビット演算子 AND
^ - ビット演算子排他的 OR
| - ビット演算子 OR
= *= /= %= += -= - 代入
&= ^= |= <<= >>=
, - 式の区切り記号
論理演算子またはモジュール演算子を使う場合は、式文字列を引用符で
囲む必要があります。式内の数値以外の文字列ヘ環境変数文字列として
処理され、使用される前に数値に変換されます。指定された環境変数名が
現在の環境で定義されていない場合は、値として 0 が使用されます。
これにより、いくつもの % 記号を入力して値を取得しないでも、環境
変数の値を算術演算に使うことができます。
コマンド スクリプト外でコマンド ラインから SET /A を実行すると、式の
最終的な値が表示されます。割り当て演算子を使うには、割り当て演算子
の左側に環境変数名が必要です。数値は 10 進数ですが、接頭辞として 0x
を付けると 16 進数、0 を付けると 8 進数になります。従って、0x12 は 18、
あるいは 022 と同じです。8 進表記を使う場合は、注意してください。08 や
09 は、8 と 9 が有効な 8 進数ではないため、有効な数値ではありません。
/P はユーザーによって入力された入力行を変数の値として設定できるようにします。
入力行を読み取る前に、指定されたプロンプト文字列を表示します。プロンプト文
字列は空でもかまいません。
環境変数の置換は、次のように拡張されます:
%PATH:文字列1=文字列2%
は、PATH 環境変数を展開し、その結果に含まれるすべての "文字列1" を
"文字列2" に置き換えます。"文字列2" に空の文字列を指定すると、展開
された出力からすべての "文字列1" を削除することができます。"文字列1"
をアスタリスクで始め、展開された出力の先頭から、文字列1 の残りの部分
が最初に現れるまでのすべてを一致させることもできます。
また、展開の副文字列を指定することもできます。
%PATH:~10,5%
は、PATH 環境変数を展開し、展開結果の 11 番目 (オフセット 10) の文字
から始まる 5 文字だけを使います。長さが指定されなかった場合は、変数の
値の残りの長さを既定値とします。オフZットまたは長さのどちらかが負の値
の場合、環境変数の値の長さに指定されたオフセットまたは長さを足してその
数を使います。
%PATH:~-10%
は、パス変数の最後の10 文字が展開されます。
%PATH:~0,-2%
は最後の 2 文字以外のすべてが展開されます。
最後に、遅延環境変数の展開が追加されました。このサポートは常に既定で
無効になっていますが、CMD.EXE の /V: のコマンド ライン スイッチを使
って有効または無効にできます。CMD /? を参照してください。
遅延環境変数の展開は、実行時ではなく、テキスト行を読み取るときに展開
されるという現在の制限を避けるために役立ちます。
次の例は即時変数展開の問題を説明しています。
set VAR=before
if "%VAR%" == "before" (
set VAR=after;
if "%VAR%" == "after" @echo If you see this, it worked
)
この例は、論理的には IF 文が別の IF 文の本体に含まれる複合文なので、
両方の IF 文の %VAR% が、最初の IF 文を読み取ったときに展開されます。
このため、メッセージは決して表示されません。複合文の中の IF では "before"
と "after" が比較され、決して等しくはなりません。同様に次の例も期待し
たようには動作しません。
set LIST=
for %i in (*) do set LIST=%LIST% %i
echo %LIST%
この例では、現在のディレクトリのファイルの一覧は作成されず、代わりに最後
に見つけられたファイルが LIST 変数に設定されます。これは %LIST% が FOR 文
が読み取られるとき、一度だけ展開され、そのときは LIST 変数は、空だからです。
つまり、実際に実行されている FOR ループは
for %i in (*) do set LIST= %i
で、LIST に最後にみつけられたファイルを設定し続けているだけですB
遅延環境変数の展開では、実行時に環境変数を展開するために異なった文字
(感嘆符)を使うことができます。遅延環境変数の展開が有効な場合、上記の
例は次のように書くと意図したように動作します。
set VAR=before
if "%VAR%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %i in (*) do set LIST=!LIST! %i
echo %LIST%
コマンド拡張機能が有効な場合、SET によって表示される変数の一覧には
現れないいくつかの動的な環境変数があります。これらの変数の値は、変数の
値が展開されるときに動的に計算されます。ユーザーがこれらの名前の変数を
明示的に定義する場合、その定義は下記の動的な定義を無効にします。
%CD% - 現在のディレクトリ文字列に展開します。
%DATE% - DATE コマンドと同じフォーマットで現在の日付に展開します。
%TIME% - TIME コマンドと同じフォーマットで現在の時刻に展開します。
%RANDOM% - 0 から 32767 の間の任意の 10 進数に展開します
%ERRORLEVEL% - 現在の ERRORLEVEL の値に展開します。
%CMDEXTVERSION% - 現在のコマンド プロセッサ拡張機能のバージョン番号に
展開します。
%CMDCMDLINE% - コマンド プロセッサを起動したオリジナル コマンドライン
に展開します。
重要な情報、"SET" コマンドのヒント
を使用するときは、
`SET`Windows コマンド プロンプトでコマンドを使用する場合、注意すべき重要な点がいくつかあります。
1.
環境変数の上書き: 次の環境変数がある場合、
`SET`既存の環境変数と同じ名前を使用して環境変数を作成すると、既存の環境変数は上書きされます。望ましくない影響を避けるために、必ずこれを行うようにしてください。
SET 既存_VARIABLE=新しい価値
2.
値内のスペース:環境変数にスペースを含む値を設定する場合は、値を二重引用符で囲むことをお勧めします。これは、スペースの解釈に関する問題を回避するのに役立ちます。
SET VARIABLE_と_空間="スペースを含む値"
3.
すべての環境変数を表示します:単に入力します。
`SET`特定の変数を指定しないと、すべての環境変数とその値が表示されます。これは、変更が期待どおりに行われたことを確認するのに役立ちます。
SET
4.
バッチ スクリプトでの環境変数の設定:バッチ スクリプトで環境変数を設定する場合、その変数はスクリプトの後半でアクセスされることに注意してください。
`%Variable%`彼は後を追います。
SET 新しい_VARIABLE=コンテンツ
ECHO %新しい_VARIABLE%
5.
ユーザー入力による`SET /P`:もし、あんたが
`SET /P`ユーザー入力については、混乱を避けるために、ユーザーに明確な指示を出し、明確な指示を提供するようにしてください。
SET /P ユーザーエントリー=何かを入力してください:
6.
大文字と小文字の区別:環境変数は通常、大文字と小文字が区別されないことに注意してください。だということだ
`%Variable%`そして
`%variable%`同じようにアクセスします。
これらのヒントは、
`SET`- コマンドを効果的かつ安全に使用します。