Wie gebe ich mit VBS "%" in CMD ein?

Wie gebe ich mit VBS "%" in CMD ein?

Ich programmiere also einen „Fix“ für den PC meines Freundes und muss VBS verwenden, um die CMD-Eingabeaufforderung zu öffnen und auf seine AppDataOrdner zuzugreifen. Aber wenn ich cd %appdata%mit VBS an die Eingabeaufforderung sende, kommt nur so etwas heraus cd appdata(ohne Prozentzeichen).

Dies ist mein Skript für 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}"

Wie kann ich das beheben?

Antwort1

Ich konnte diese Lösung nirgendwo explizit erwähnt finden, aber diesSendKeys-Referenzgab einen Hinweis. Sie müssen das %Zeichen in Klammern ( {}) setzen. Ihre %Zeichen wären also {%}.

Beispiel: Prozentsätze in 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}"

Antwort2

Wenn Sie den Benutzernamen des PCs Ihres Freundes kennen, können Sie Folgendes tun:

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}"

Ersetzen Sie „Benutzer“ hier durch den tatsächlichen Benutzernamen des Computers Ihres Freundes. Ich hoffe, das hilft Ihnen.
:)

verwandte Informationen