我需要找到一种方法来获取系统的当前用户并将其放在地址中。
现在我正在使用此脚本:
Set WshShell = CreateObject("WScript.Shell")
Dim User
User = "User"
WshShell.Run Chr(34) & "C:\Users\" & User & "\Documents\Test\M2.bat" & Chr(34), 0
Set WshShell = Nothing
我正在使用它来运行批处理文件而不显示。现在要更改用户,我必须自己更改变量。有没有办法使其自动?
答案 0 :(得分:2)
Msgbox CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
正确的方法是询问系统“我的文档”在哪里。用户可以移动它们。
答案 1 :(得分:0)
有几种获取当前登录用户的用户名的方法,例如:
扩展环境变量%USERNAME%
:
Set sh = CreateObject("WScript.Shell")
User = sh.ExpandEnvironmentStrings("%USERNAME%")
通过UserName
对象的WshNetwork
属性:
Set net = CreateObject("WScript.Network")
User = net.UserName
Win32_ComputerSystem
WMI类的:
Set wmi = GetObject("winmgmts://./root/cimv2")
For o In wmi.ExecQuery("SELECT * FROM Win32_ComputerSystem")
User = o.UserName
Next
通过ADSI:
Set sys = CreateObject("ADSystemInfo")
User = sys.UserName
有关更完整的列表,请参见this overview,由Rob van der Woude编译。