最終更新:2018-05-30 (水) 13:44:33 (2150d)  

setx
Top / setx

ユーザーまたはシステムの環境の中で環境変数を作成または変更します。

  • ユーザー環境変数
    setx <環境変数名> <値>
  • システム環境変数
    setx <環境変数名> <値> -m

メモ

  • コマンドプロンプトを開いてsetxで環境変数を設定しても、そのコマンドプロンプト内では、設定した値は参照できない

help

  • SetX の使用法は 3 とおりあります:
    
    構文 1:
        SETX [/S システム [/U [ドメイン\]ユーザー [/P [パスワード]]]] 変数 値 [/M]
    
    構文 2:
        SETX [/S システム [/U [ドメイン\]ユーザー [/P [パスワード]]]]
        変数 /K レジストリパス [/M]
    
    構文 3:
        SETX [/S システム [/U [ドメイン\]ユーザー [/P [パスワード]]]]
             /F ファイル {変数 {/A x,y | /R x,y 文字列}[/M] | /X} [/D 区切り文字]
    
    説明:
        ユーザーまたはシステムの環境の中で環境変数を作成または
        変更します。引数、レジストリ キー、またはファイル入力を
        もとに変数を設定することができます。
    
    パラメーター一覧:
        /S     システム        接続先のリモート システムを指定します。
    
        /U [ドメイン\]ユーザー  コマンドが実行されるユーザー
                                コンテキストを指定します。
    
        /P     [パスワード]    指定されたユーザーのコンテキストのパスワード
                               を指定します。省略すると入力が促されます。
    
        変数                   設定する環境変数を指定します。
    
        値                     環境変数に割り当てられる値を指定
                               します。
    
        /K     レジストリパス  レジストリ キーからの情報を基に変数が
                               設定されることを指定します。
                               パスは hive\key\...\value の形式で指定します。
                               例:
                               HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                               Control\TimeZoneInformation\StandardName.
    
        /F     ファイル        使用するテキスト ファイルの名前を指定し
                               ます。
    
        /A     x、y            ファイルの絶対座標 (行 X、項目 Y) を
                               パラメーターとして指定し、ファイル内を検索
                               します。
    
        /R     x,y 文字列      "文字列" を検索パラメーターとして
                               ファイルへの相対座標を指定します。
    
        /M                     変数をシステム全体 (HKEY_LOCAL_MACHINE)
                               の環境で設定することを指定します。
                               既定では、HKEY_CURRENT_USER 環境で変数
                               を設定するように設定されています。
    
        /X                     x y 座標でファイルの内容を表示します。
    
        /D     区切り文字    "," や "\" など、追加の区切り文字を指定し
                               ます。ビルトインの区切り文字は空白、タブ、
                               キャリッジ リターン、ラインフィードです。
                               ASCII 文字はどれでも追加の区切り文字として
                               使用できます。区切り文字は、ビルトインの
                               ものも含めて最大 15 個まで指定できます。
    
        /?                     このヘルプを表示します。
    
    注意: 1) SETX は、レジストリの中のマスター環境に変数を書き込みます。
    
          2) ローカル システム上では、このツールで作成または変更した
             変数は、現在のコマンド ウィンドウでは利用できませんが、
             その後のコマンド ウィンドウで利用できます。
    
          3) リモート システム上では、このツールで作成または変更した
             変数は次のログオン セッションで利用できます。
    
          4) 有効なレジストリ キー データの種類は  REG_DWORD、REG_EXPAND_SZ、
             REG_SZ, REG_MULTI_SZ です。
    
          5) サポートされているハイブは  HKEY_LOCAL_MACHINE (HKLM)、
             HKEY_CURRENT_USER (HKCU) です。
    
          6) 区切り文字は大文字と小文字を区別します。
    
          7) REG_DWORD 値は、レジストリから 10 進数形式で
             抽出されます。
    
    例:
        SETX MACHINE COMPAQ
        SETX MACHINE "COMPAQ COMPUTER" /M
        SETX MYPATH "%PATH%"
        SETX MYPATH ~PATH~
        SETX /S system /U user /P password  MACHINE COMPAQ
        SETX /S system /U user /P password MYPATH ^%PATH^%
        SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\
             Control\TimeZoneInformation\StandardName
        SETX BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
             NT\CurrentVersion\CurrentBuildNumber" /M
        SETX /S system /U user /P password TZONE /K HKEY_LOCAL_MACHINE\
             System\CurrentControlSet\Control\TimeZoneInformation\
             StandardName
        SETX /S system /U user /P password  BUILD /K
             "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
             CurrentVersion\CurrentBuildNumber" /M
        SETX /F ipconfig.out /X
        SETX IPADDR /F ipconfig.out /A 5,11
        SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."
        SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
        SETX /S system /U user /P password  /F c:\ipconfig.out /X

関連