2011-06-15 161 views
0

我需要在Windows上永久設置%username%變量是可能的嗎?在windows中設置永久變量%username%

我的意思是如果我在命令提示符上設置username = UPPERCASE我可以看到該變量已更改,但正如預期的那樣,只是在該命令提示符下工作,如果我打開另一個用戶名變量是原始的。

我試圖找到對應的註冊表值,但我沒有找到它。

我需要一些自動的方式來做到這一點。

謝謝!

+0

爲什麼你需要這樣做? – 2011-06-15 17:59:20

+0

有一個應用程序「膩子」,從環境中採取用戶名,問題是,對於窗戶案件沒有意義,而對於其他環境它沒有。所以我只是想在任何情況下把用戶名改成大寫的logonscript,即使用戶把他的用戶名改爲小寫。 – Kerby82 2011-06-15 18:01:35

+0

它必須是USERNAME嗎?它可以是像'Putty_USERNAME'這樣的不同的環境變量嗎? – 2011-06-15 18:13:58

回答

0

當每個進程啓動時,進程獲得父進程的環境變量的副本。所以,如果你使用Windows資源管理器來啓動命令提示符。您會得到Explorer.exe環境變量的副本,但是當您在cmd.exe中編輯它時,不會編輯系統其餘部分的值。

也就是說,Windows提供了一個進程可以訂閱的事件,以便他們可以被告知環境變量有一個新的值。如果你有興趣,我可以嘗試挖掘它。我之前使用過它用於Path環境變量,並認爲它可能適用於您的問題。

聽起來像你應該創建一個bat文件。這將提示用戶輸入用戶名,並將其放入%USERNAME%環境變量中。

SET /p USERNAME=What is your UserName? 
putty /user:%username% 
+0

我很感興趣,你可以挖掘嗎?或給我任何建議?我真的很感激這一點。在此先感謝 – Kerby82 2011-06-15 18:05:08

+0

我建議另一種選擇,但我找不到一種方法來簡單地將%用戶名%更低。 – 2011-06-15 18:06:54

+0

http://support.microsoft.com/?kbid=104011顯示如何通知環境更改。但是,我不知道如何設置用戶名。 – 2011-06-15 18:10:47