2016-08-18 69 views
0

我的問題是,我需要找到一個VBScript的方式來檢索%USERNAME%的值來獲取用戶配置文件文件夾 - 例如,C:\%USERNAME%\Documents\example.txtvb替代.bat%USERNAME%腳本

如何從VBScript獲得%USERNAME%

(編輯)我對vb一無所知,所以我不知道字符串或wscript或類似的東西。解釋給我,好像我是個孩子,在那裏把腳本和等 感謝

+4

的可能的複製[我可以拿起在VBScript腳本WSH環境變量?](http://stackoverflow.com/questions/904739/can-i-pick-up-environment-variables-in-vbscript -wsh-script) – FloatingKiwi

回答

-1

返回環境變量的擴展值。

object.ExpandEnvironmentStrings(strString) 

對象

WshShell對象。

strString表示要擴大環境變量的名稱

字符串值。

上面沒有詳細說明。如果它是路徑或其他東西,則將整個字符串傳遞給它。 EG %windir%\system32正常工作,並返回c:\windows\system32 ..

但是,這不是VBS的方式來做你想做的。任何程序或用戶都可以搞砸環境變量。

返回用戶的名稱。

object.UserName 

對象

WshNetwork對象。

0

有了可以此示例代碼的伎倆:

Set Ws = CreateObject("WScript.Shell") 
UserName=Ws.ExpandEnvironmentStrings("%UserName%") 
ComputerName=Ws.ExpandEnvironmentStrings("%ComputerName%") 
WScript.Echo "The UserName is : "& UserName 
Wscript.echo "The computername is : " & ComputerName 
wscript.echo "C:\"& USERNAME & "\Documents\example.txt" 
+0

你可以編輯你的文章,以便它確切地說明在哪裏放置信息?謝謝 –

+0

@Bigfat。英美菸草編輯爲什麼我不明白你的意思? – Hackoo

1

雖然其他答案(和提議的複製品)回答你是問,關於擴大環境變量的問題,它看起來像你」重新嘗試獲取用戶的文檔文件夾。這可以通過Shell對象的集合SpecialFolder來完成:

Set objShell = WScript.CreateObject("WScript.Shell") 
strDocumentDirectoryPath = objShell.SpecialFolders.Item("MyDocuments") 

看到WSH SpecialFolders documentation更多細節。

0
Set WshShell = WScript.CreateObject("WScript.Shell") 
CurrentProfilePath = WshShell.RegRead("HKCU\Volatile Environment\USERPROFILE")