setx
在使用者或系統環境中建立或修改環境變數,而不需要程式設計或腳本。 Setx 命令也會擷取登錄機碼的值,並將其寫入文本檔。
備註
此命令僅提供直接和永久設定系統環境值的命令行或程序設計方式。 系統環境變數可透過 控制面板 或登錄編輯器手動設定。 set 命令,這是命令解釋器 (Cmd.exe), 只會設定目前控制台視窗的用戶環境變數。
語法
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>]
參數
參數 | 說明 |
---|---|
/s <computer> |
指定遠端電腦的名稱或IP位址。 請勿使用反斜杠。 預設值是本機計算機的名稱。 |
/u [<domain>\]<user name> |
使用指定用戶帳戶的認證來執行腳本。 預設值為系統許可權。 |
/p [<password> ] |
指定 /u 參數中指定的使用者帳戶密碼。 |
<variable> |
指定您想要設定的環境變數名稱。 |
<value> |
指定要設定環境變數的值。 |
/k <path> |
指定根據登錄機碼的信息來設定變數。
路徑 使用下列語法:\\<HIVE>\<KEY>\...\<Value> 。 例如,您可以指定下列路徑:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName |
/f <filename> |
指定您想要使用的檔案。 |
/a <X>,<Y> |
指定絕對座標和位移做為搜尋參數。 |
/r <X>,<Y> <String> |
指定 字串 的相對座標和位移做為搜尋參數。 |
/m | 指定在系統環境中設定變數。 默認設定為本機環境。 |
/x | 顯示檔案座標,忽略 /a、/r和 /d 命令行選項。 |
/d <delimiters> |
指定分隔符,例如 、 或 \,除了四個內建分隔符 ,包括SPACE、TAB、ENTER和LINEFEED。 有效的分隔符包含任何 ASCII 字元。 分隔符數目上限為 15,包括內建分隔符。 |
/? | 在命令提示字元中顯示說明。 |
備註
此命令類似於 UNIX 公用程式 SETENV。
您可以使用此命令,從三個來源之一設定使用者和系統環境變數的值:命令行模式、登錄模式或檔案模式。
此命令會將變數寫入登錄中的主要環境。 setx 變數所設定的變數只能在未來的命令視窗中使用,而不適用於目前的命令視窗中。
HKEY_CURRENT_USER 和 HKEY_LOCAL_MACHINE 是唯一支援的 Hives。 REG_DWORD、REG_EXPAND_SZ、REG_SZ和REG_MULTI_SZ是有效的 RegKey 數據類型。
如果您在登錄中取得 REG_MULTI_SZ 值的存取權,則只會擷取並使用第一個專案。
您無法使用此命令來移除新增至本機或系統環境的值。 您可以使用此命令搭配變數名稱,而沒有值可從本機環境移除對應的值。
REG_DWORD登錄值會擷取並用於十六進位模式。
檔案模式僅支援剖析歸位字元和換行字元 (CRLF) 文字檔。
在現有的變數上執行此命令會移除任何變數參考,並使用展開的值。
例如,如果變數 %PATH% 具有 %JAVADIR%的參考,而且 %PATH% 是使用 setx 作,則會展開 %JAVADIR%,並將其值直接指派給目標變數 %PATH%。 這表示未來的 %JAVADIR% 更新 將不會反映在 %PATH% 變數中。
請注意,使用 setx setx將內容指派給變數時,有 1024 個字元的限制。
這表示如果您超過 1024 個字元,則會裁剪內容,而裁剪的文字會套用至目標變數。 如果這個裁剪的文字套用至現有的變數,可能會導致目標變數先前保留的數據遺失。
範例
若要將本機環境中的 MACHINE 環境變數設定為 Brand1的值,請輸入:
setx MACHINE Brand1
若要將系統環境中的 MACHINE 環境變數設定為 Brand1 Computer的值,請輸入:
setx MACHINE Brand1 Computer /m
若要在本機環境中設定 MYPATH 環境變數,以使用 PATH 環境變數中所定義的搜尋路徑,請輸入:
setx MYPATH %PATH%
若要在本機環境中設定 MYPATH 環境變數,以使用 PATH 環境變數中定義的搜尋路徑,請將 ~ 取代為 %,請輸入:
setx MYPATH ~PATH~
若要將本機環境中的 MACHINE 環境變數設定為在名為 computer1 computer1的遠端電腦上 Brand1,請輸入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 MACHINE Brand1
若要在本機環境中設定 MYPATH 環境變數,以在 名為 computer1的遠端電腦上,使用 PATH 環境變數中所定義的搜尋路徑,請輸入:
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
若要將 TZONE 環境變數設定為 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation\StandardName 登錄機碼中找到的值,computer1 本機環境中的環境變數:
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 檔案中 網關 座標 0,7 找到的值,請輸入:
setx IPGATEWAY /f ipconfig.out /r 0,7 Gateway
若要在名為 computer1的計算機上顯示 Ipconfig.out 檔案的內容,以及內容的對應座標,請輸入:
setx /s computer1 /u maindom\hiropln /p p@ssW23 /f ipconfig.out /x