Ich programmiere also einen „Fix“ für den PC meines Freundes und muss VBS verwenden, um die CMD-Eingabeaufforderung zu öffnen und auf seine AppData
Ordner 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.
:)