如何使用 VBS 在 CMD 中输入“%”

如何使用 VBS 在 CMD 中输入“%”

因此,我正在为朋友的 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 Sc​​ript (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}"

将此处的用户替换为您朋友计算机的真实用户名。希望这对您有所帮助。
:)

相关内容