
Então estou programando um "conserto" para o PC do meu amigo e preciso usar o VBS para abrir o prompt do CMD e acessar as AppData
pastas dele. Mas quando envio cd %appdata%
para o prompt de comando com VBS, só sai assim cd appdata
(sem nenhum sinal de porcentagem).
Este é o meu script para 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}"
Como posso consertar isso?
Responder1
Não consegui encontrar esta solução mencionada explicitamente em outro lugar, mas estaReferência de SendKeysdeu uma pista. Você precisa colocar o %
sinal entre colchetes ( {}
). Então seus %
sinais seriam {%}
.
ex. Porcentagens literais em 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}"
Responder2
Se você souber o nome de usuário do PC do seu amigo, você pode fazer o seguinte:
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}"
Substitua Usuário aqui pelo nome de usuário real do computador do seu amigo. Espero que isso ajude você.
:)