Como digito "%" no CMD usando VBS

Como digito "%" no CMD usando VBS

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 AppDatapastas 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ê.
:)

informação relacionada