Итак, я программирую "исправление" для ПК моего друга, и мне нужно использовать 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 здесь на настоящее имя пользователя компьютера вашего друга. Надеюсь, это вам поможет.
:)