2010-08-19 34 views
1

我有一個腳本,它在Windows XP中通過在註冊表HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment下創建一個值來設置一個環境變量。當我在控制面板中查看env var GUI時顯示變量,但如果在命令窗口中鍵入SET,則不會列出它。如果我嘗試在命令窗口中回顯它,它不會得到任何值。如何從腳本中正確設置環境變量,最好使用註冊表?使用腳本設置Win XP環境變量

回答

1

在腳本中可以使用SET命令只設置一個變量:

SET my_var=42

但是,這不會改變/定義這個變量「全球」。只要關閉運行該腳本的命令行窗口,該變量就消失了。

因此,如果您想永久定義變量,則必須將註冊表解決方案與SET命令結合使用。

+0

所以除了我在做什麼在註冊表中,我也有,打開命令行和使用SET設置我env var以及讓它堅持下去? – anon 2010-08-19 15:31:09

+0

不,只需在腳本中使用SET命令(我假設我們討論批處理腳本?) – 2010-08-19 15:36:22

+0

實際上它是一個InstallScript文件。我需要永久設置環境變量。 – anon 2010-08-19 15:46:11

1

其實,你可以使用DOS命令「SETX」永久設置變量(無需手動不必 - 或編程 - 破解註冊表)。

我從來沒有使用過「InstallScript」,但大多數安裝程序產品(如InstallShield或InnoSetup)都有「set system variable」和「set user variable」命令,您可以在腳本中使用它們。

下面是關於Windows的「SETX」的MSDN參考命令: http://technet.microsoft.com/en-us/library/cc755104%28WS.10%29.aspx

+0

+1這對我來說在Win 7上工作,不確定它會在XP上 – qwerty 2012-12-06 09:14:51