2016-08-18 40 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")