vb替代.bat%USERNAME%脚本

时间:2016-08-18 02:47:26

标签: batch-file vbscript username

我的问题是,我需要找到VBScript方法来检索%USERNAME%的值以获取用户个人资料文件夹 - 例如C:\%USERNAME%\Documents\example.txt

如何从%USERNAME%获取VBScript

(编辑)我对vb一无所知,所以我不知道字符串或wscript或类似的东西。向我解释,好像我是一个孩子,在哪里放脚本等 感谢

5 个答案:

答案 0 :(得分:3)

请参阅此答案:https://stackoverflow.com/a/904747/6550457

如果您在标准的Windows配置文件目录之后,我建议使用%USERPROFILE%而不是%USERNAME%。

答案 1 :(得分:1)

虽然其他答案(和建议的重复)正在回答您要问的问题,但是关于扩展环境变量,看起来您实际上是在尝试获取用户的Documents文件夹。这可以通过Shell对象的StringType集合来完成:

SpecialFolder

请参阅WSH SpecialFolders documentation

中的详细信息

答案 2 :(得分: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"

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

  

返回环境变量的扩展值。

object.ExpandEnvironmentStrings(strString) 
     

<强>对象

     

WshShell对象。

     

<强> strString

     

字符串值,指示要扩展的环境变量的名称。

上面没有说明。如果它是一条路径或某物,则将整个字符串传递给它。 EG %windir%\system32正常工作并返回c:\windows\system32 ..

然而,这不是VBS做你想做的事情的方式。任何程序或用户都可以搞砸环境变量。

  

返回用户名。

object.UserName 
     

对象

     

WshNetwork对象。