因此,我正在为朋友的 PC 编写一个“修复”程序,我需要使用 VBS 打开 CMD 提示符并访问他的AppData
文件夹。但是当我cd %appdata%
使用 VBS 发送到命令提示符时,它只显示如下内容cd appdata
(没有任何百分号)。
这是我的 VBS 脚本:
Set WshShell = WScript.CreateObject("WScript.Shell")
strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd %appdata%"
Wshshell.sendkeys "{ENTER}"
我怎样才能解决这个问题?
答案1
我找不到其他地方明确提到的这个解决方案,但是这个SendKeys 参考给出了一个线索。您需要将%
符号括在括号 ( {}
) 中。因此您的%
符号将是{%}
。
例如 Visual Basic Script (VBS) 中的文字百分比
Set WshShell = WScript.CreateObject("WScript.Shell")
strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd {%}appdata{%}"
Wshshell.sendkeys "{ENTER}"
答案2
如果您知道朋友电脑的用户名,您可以这样做:
Set WshShell = WScript.CreateObject("WScript.Shell")
strName = wshShell.ExpandEnvironmentStrings( "%USERNAME%" )
Wshshell.run "cmd"
Wshshell.sendkeys " "
Wscript.sleep 200
Wshshell.sendkeys "cd "C:\Users\User\AppData\Roaming""
Wshshell.sendkeys "{ENTER}"
将此处的用户替换为您朋友计算机的真实用户名。希望这对您有所帮助。
:)