Как ввести «%» в CMD с помощью VBS

Как ввести «%» в CMD с помощью VBS

Итак, я программирую "исправление" для ПК моего друга, и мне нужно использовать VBS, чтобы открыть командную строку и получить доступ к его 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}"

Замените User здесь на настоящее имя пользователя компьютера вашего друга. Надеюсь, это вам поможет.
:)

Связанный контент