Ich habe versucht, myFileToRun.bat-Datei von einem Pfad zum Beispiel zu starten.Nicht in der Lage, Bat-Datei Formular VBScript zu starten, wenn Pfad ein Leerzeichen enthält
D:\My Folder\batchfiles\myFileToRun.bat
Unten ist das VBScript, durch das ich versuche, es auszuführen.
Dim WshShell, strCurrentDirectory
Set WshShell = CreateObject("WScript.Shell")
strCurrentDirectory = WshShell.CurrentDirectory
WshShell.Run strCurrentDirectory & "\myFileToRun.bat" , 0
Set WshShell = Nothing
Ich bin nicht in der Lage, es zu laufen, als VBS Fehler thowing sayin „System die angegebene Datei nicht finden kann:“ Ich habe in anderen ähnlichen Stellen in Stackoverflow und anderen Foren erwähnten verschiedene Methoden ausprobiert. Die meisten von ihnen sagen, doppelte Anführungszeichen hinzuzufügen.
Anmerkung: Ich habe doppelte Anführungszeichen versucht, das Hinzufügen, Doppel doppelte Anführungszeichen zum Beispiel
1.WshShell.Run """strCurrentDirectory & "\myFileToRun.bat" "", 0
2.WshShell.Run """"strCurrentDirectory & "\myFileToRun.bat"""", 0
3.WshShell.Run """"strCurrentDirectory & \myFileToRun.bat"""", 0
Keiner von ihnen arbeitete, wie ich glaube, ich Zitate an falschen Stellen gebe. Die Variable strCurrentDirectory ändert sich in "strCurrentDirectory" anstelle von "D: \ My Folder \ Batchfiles" und mein endgültiger Pfad wäre "strCurrentDirectory" "\ myFileToRun.bat", was falsch ist. Ich brauche den Pfad zu "D: \ Mein Ordner \ Batchfiles \ myFileToRun.bat" und die Datei zu laufen.
Ich habe das Konzept dieser Zitate nicht wirklich verstanden. Also kannst du mir bitte dieses Konzept erklären und mir helfen, diesen Fehler zu beheben.
Edit: Ich habe die Lösung. Da ich mich auf das aktuelle Verzeichnis beziehen musste, habe ich das Skript einfach gemacht.
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "myFileToRun.bat", 0
Set WshShell = Nothing
Vielen Dank für Ihre Antworten. Es war hilfreich.
Mögliches Duplikat von [VBScript-Fehler beim Ausführen Befehl mit langen Argument] (http://StackOverflow.com/Questions/35503447/Vbscript-error-on-Run-Command-with-long-argument) – Lankymart
Sie müssen nur Escape alle Zitate, die Sie als Teil des Arguments wollen, tun Sie dies, indem Sie sie '' '' verdoppeln. Ihre Versuche funktionieren nicht, weil Sie vergessen haben, die Zeichenkette * zu verketten (deshalb wird die Variable 'strCurrentDirectory' als Teil der Zeichenkette anstelle ihres Werts hinzugefügt) *, versuchen Sie dies -' WshShell.Run "" "" & strCurrentDirectory & "\ myFileToRun.bat" "", 0' – Lankymart