setx 是一個微軟 Window 作業系統的一個管理工具 / 命令。setx 是英文 Set X，即用於設定環境變數，是 Windows 系統中運維需要的命令。



歷史

適用於：Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8，Windows 10

setx 首次出現於 Windows Vista.



使用方法

在作業系統中都有環境變數的概念，表示作業系統中用來指定作業系統執行環境的一些參數。

該命令 setx 用於 不依賴指令碼和編程，直接建立或者修改 使用者或者系統的環境變數。並可用於檢索登錄檔項的值並將它們寫進文字檔案。

 



語法

語法 1:

```
   SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
```

語法 2:

```
   SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
```

語法 3:

```
   SETX [/S system [/U [domain\]user [/P [password]]]]
        /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
```

描述:

```
   在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输
   入设置变量。
```



參數列

```
   /S     system          指定要连接到的远程系统。
```

```
   /U     [domain\]user   指定应该在哪个用户上下文执行命令。
```

```
   /P     [password]      指定给定用户上下文的密码。如果省略则
                          提示输入。
```

```
   var                    指定要设置的环境变量。
```

```
   value                  指定分配给环境变量的值。
```

```
   /K     regpath         指定变量是基于注册表项的信息而设置的。
```

```
                          路径的格式应该是 hive\key\...\value。例如
                          HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                          Control\TimeZoneInformation\StandardName。
```

```
   /F     file            指定要使用的文本文件的文件名。
```

```
   /A     x,y             指定绝对文件坐标(线 X，项目 Y)作为在此文件
                          里搜索的参数。
```

```
   /R     x,y string      指定有关“字符串”作为搜索参数的相对文件坐标。
```

```
   /M                     指定应该在系统 (HKEY_LOCAL_MACHINE) 环境中设
                          置此变量。在 HKEY_CURRENT_USER 环境下，默认
                          将设置此变量。
```

```
   /X                     用 x，y 坐标显示文件内容。
```

```
   /D     delimiters      指定其他限定符，如 "," 或 "\"。
                          内置分隔符是空格、制表符、回车和换行符。所有
                          ASCII 字符都可作为限定符。限定符的最大数量，
                          包括内置分隔符，是 15。
```

```
   /?                     显示此帮助消息。
```



注意

```
     1) SETX 在注册表中将变量写入主机环境。
     2) 在本地系统，用此工具创建或修改的变量将在以后的命令窗口可用，但
        在当前的 CMD.exe 命令窗口。
     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 的值是从注册表里以十进制格式提取出来的。
```



範例

```
   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
```



參看


* MS-DOS 命令列表 #set : 設定環境變數（只在當前命令窗口）。

* setx：常見異常問題