Vbscript 查找当前用户
我正在尝试编写一个VBS脚本来复制另一台计算机上的文件,而无需在脚本中手动输入它们的用户名。它说脚本中的用户就是我需要放置当前用户的地方Vbscript 查找当前用户,vbscript,Vbscript,我正在尝试编写一个VBS脚本来复制另一台计算机上的文件,而无需在脚本中手动输入它们的用户名。它说脚本中的用户就是我需要放置当前用户的地方 Set fso = CreateObject("Scripting.FileSystemObject") If (fso.FolderExists("C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\")) Then FSO.CopyFile "V.VB
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FolderExists("C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\")) Then
FSO.CopyFile "V.VBS", "C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\"
FSO.CopyFile "M.mp3", "C:\Users\USER\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\"
Else
End If
例如,有几种方法可以获取当前用户的名称
Set net = CreateObject("WScript.Network")
username = net.UserName
或者通过展开%USERNAME%
环境变量
Set sh = CreateObject("WScript.Shell")
username = sh.ExpandEnvironmentVariables("%USERNAME%")
拥有usrename后,可以按如下方式构建路径字符串:
Set fso = CreateObject("Scripting.FileSystemObject")
profile = fso.BuildPath("C:\Users", username)
startup = fso.BuildPath(profile, "AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup")
由于您正在使用用户的
AppData
文件夹的子文件夹,因此还可以展开%AppData%
变量,而不是%USERNAME%
变量:
Set sh = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
appdata = fso.BuildPath("C:\Users", sh.ExpandEnvironmentVariables("%APPDATA%"))
startup = fso.BuildPath(appdata, "Microsoft\Windows\Start Menu\Programs\Startup")
另一个选项是从注册表读取启动文件夹位置,并在返回的路径字符串中展开环境变量:
regpath = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Startup"
Set sh = CreateObject("WScript.Shell")
startup = sh.ExpandEnvironmentStrings(sh.RegRead(regpath))
FSO.CopyFile“V.VBS”,“startup”不适用于复制我该怎么做?您将使用变量
startup
而不是字符串“startup”
。修复了所有错误,除了“startup”缺少反斜杠谢谢!