プログラミングやスクリプトを必要とせずに、ユーザーまたはシステム環境で環境変数を作成または変更します。 Setx コマンドは、レジストリ キーの値を取得し、テキスト ファイルに書き込みます。
Note
このコマンドは、システム環境の値を直接かつ永続的に設定するための唯一のコマンドラインまたはプログラムの方法を提供します。 システム環境変数は、 コントロールパネル またはレジストリエディタを使用して手動で設定できます。 コマンドインタプリタ (Cmd.exe) の内部にある set コマンドは、現在のコンソールウィンドウのみのユーザー環境変数を設定します。
Syntax
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable> <value> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] <variable>] /k <path> [/m]
setx [/s <computer> [/u [<domain>\]<user name> [/p [<password>]]]] /f <filename> {[<variable>] {/a <X>,<Y> | /r <X>,<Y> <String>} [/m] | /x} [/d <delimiters>]
Parameters
| Parameter | Description |
|---|---|
/s <computer> |
リモート コンピューターの名前または IP アドレスを指定します。 円記号は使用しないでください。 既定値は、ローカル コンピューターの名前です。 |
/u [<domain>] |
指定したユーザー アカウントの資格情報を使用してスクリプトを実行します。 既定値はシステムのアクセス許可です。 |
/p [<password>] |
/u パラメーターで指定されたユーザー アカウントのパスワードを指定します。 |
<variable> |
設定する環境変数の名前を指定します。 |
<value> |
環境変数を設定する値を指定します。 |
/k <path> |
レジストリ キーからの情報に基づいて変数を設定することを指定します。
パスは、\\<HIVE>\<KEY>\...\<Value> という構文を使用します。 たとえば、次のパスを指定できます: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName |
/f <filename> |
使用するファイルを指定します。 |
/ある <X>,<Y> |
絶対座標とオフセットを検索パラメーターとして指定します。 |
/r <X>,<Y> <String> |
相対座標と 文字列 からのオフセットを検索パラメータとして指定します。 |
| /m | システム環境で変数を設定することを指定します。 既定の設定はローカル環境です。 |
| /x | /a、/r、および /d コマンド ライン オプションを無視して、ファイル座標を表示します。 |
/d <delimiters> |
4 つの組み込み区切り文字 (SPACE、TAB、ENTER、LINETRANSLATE) に加えて、 や\ などの区切り文字を指定します。 有効な区切り記号には、任意の ASCII 文字が含まれます。 区切り記号の最大数は、組み込みの区切り記号を含めて 15 です。 |
| /? | コマンド プロンプトにヘルプを表示します。 |
Remarks
このコマンドは UNIX ユーティリティー SETENV に似ています。
このコマンドを使用すると、コマンド ライン モード、レジストリ モード、またはファイル モードの 3 つのソース (モード) のいずれかから、ユーザー環境変数とシステム環境変数の値を設定できます。
このコマンドは、レジストリ内のマスター環境に変数を書き込みます。 setx 変数で設定された変数は、将来のコマンドウィンドウでのみ使用可能であり、現在のコマンドウィンドウでは使用できません。
HKEY_CURRENT_USER と HKEY_LOCAL_MACHINE は、サポートされているハイブのみです。 REG_DWORD、REG_EXPAND_SZ、REG_SZ、および REG_MULTI_SZ は、有効な RegKey データ型です。
レジストリ内の REG_MULTI_SZ 値にアクセスできると、最初の項目のみが抽出され、使用されます。
このコマンドを使用して、ローカル環境またはシステム環境に追加された値を削除することはできません。 このコマンドを変数名と値なしで使用して、対応する値をローカル環境から削除できます。
REG_DWORDレジストリ値が抽出され、16 進数モードで使用されます。
ファイル モードでは、復帰テキスト ファイルと改行 (CRLF) テキスト ファイルの解析のみがサポートされます。
既存の変数でこのコマンドを実行すると、変数参照が削除され、展開された値が使用されます。
たとえば、変数 %PATH% に %JAVADIR%への参照があり、 setx を使用して %PATH% 操作されている場合、%JAVADIR% は展開され、その値はターゲット変数 %PATH%に直接割り当てられます。 つまり、今後の %JAVADIR% の更新は %PATH% 変数に反映 されません 。
setx を使用して変数に内容を割り当てる場合、1024 文字の制限があることに注意してください。
つまり、1024 文字を超える場合はコンテンツがトリミングされ、トリミングされたテキストがターゲット変数に適用されることを意味します。 このトリミングされたテキストが既存の変数に適用されると、ターゲット変数によって以前に保持されていたデータが失われる可能性があります。
Examples
ローカル環境の MACHINE 環境変数を値 Brand1 に設定するには、次のように入力します。
setx MACHINE Brand1
システム環境の MACHINE 環境変数を値 Brand1 Computer に設定するには、次のように入力します。
setx MACHINE Brand1 Computer /m
PATH 環境変数で定義された検索パスを使用するようにローカル環境の MYPATH 環境変数を設定するには、次のように入力します。
setx MYPATH %PATH%
~ローカル環境の MYPATH 環境変数を % に置き換えた後、PATH 環境変数で定義された検索パスを使用するように設定するには、次のように入力します。
setx MYPATH ~PATH~
computer1 という名前のリモート・コンピューターで、ローカル環境の MACHINE 環境変数を Brand1 に設定するには、次のように入力します。
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
computer1 という名前のリモートコンピュータ上の PATH 環境変数で定義された検索パスを使用するようにローカル環境の MYPATH 環境変数を設定するには、次のように入力します。
setx /s computer1 /u maindom\hiropln /p p@ssW23 MYPATH %PATH%
ローカル環境の TZONE 環境変数を HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName レジストリキーにある値に設定するには、次のように入力します。
setx TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
computer1 という名前のリモート コンピューターのローカル環境にある TZONE 環境変数を HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName レジストリ キーにある値に設定するには、次のように入力します。
setx /s computer1 /u maindom\hiropln /p p@ssW23 TZONE /k HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName
システム環境の BUILD 環境変数を HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber レジストリキーにある値に設定するには、次のように入力します。
setx BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber /m
Computer1 という名前のリモート コンピューターのシステム環境で BUILD 環境変数を HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\CurrentBuildNumber レジストリ キーにある値に設定するには、次のように入力します。
setx /s computer1 /u maindom\hiropln /p p@ssW23 BUILD /k HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber /m
Ipconfig.out という名前のファイルの内容と、その内容に対応する座標を表示するには、次のように入力します。
setx /f ipconfig.out /x
ローカル環境の IPADDR 環境変数を Ipconfig.out ファイルの座標 5,11 にある値に設定するには、次のように入力します。
setx IPADDR /f ipconfig.out /a 5,11
ローカル環境の OCTET1 環境変数を、区切り文字 #$* を含む Ipconfig.out ファイルの座標 5,3 にある値に設定するには、次のように入力します。
setx OCTET1 /f ipconfig.out /a 5,3 /d #$*.
ローカル環境の IPGATEWAY 環境変数を、Ipconfig.out ファイル内の Gateway の座標を基準に座標 0,7 にある値に設定するには、次のように入力します。
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
Ipconfig.out ファイルの内容を、対応する座標とともに computer1 という名前のコンピュータに表示するには、次のように入力します。
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x