Mit VB-Sckript eine Batch-Datei mit mehr als einem Argument auszuführen geht nicht
Hallo,
ich versuche mit einem VB-Sckript eine Batch-Datei mit Argumenten auszuführen. Wenn nur ein Argument übergeben wird, dann wird die Batch-Datei fehlerfrei ausgeführt - so:
Wenn aber mehr als ein Argument wie folgt übergeben werden
dann öffnet sich das CMD-Fenster und schließt sich sofort. In der Batch-Datei "D:\Probe1.bat" steht während des Testes nur PAUSE und nichts anders! Also völlig leer.
Auf einem anderen Rechner probiert und das Problem ist dasselbe. Zahlreiche Versuche und Kombinationen mit den Anführungszeichen habe ich in der VBS-Syntax vorgenommen und immer noch kein Erfolg.
Ich habe gelernt, dass in VBS die Anführungszeichen der Argumente verdoppelt werden müssen (und anschließend alle Argumente zusätzlich in Anführungszeichen umrahmen).
Woran kann es liegen?
Gruß
evinben
ich versuche mit einem VB-Sckript eine Batch-Datei mit Argumenten auszuführen. Wenn nur ein Argument übergeben wird, dann wird die Batch-Datei fehlerfrei ausgeführt - so:
CreateObject("Shell.Application").ShellExecute "D:\Probe1.bat","Arg1 FileName",,"runas",1
Wenn aber mehr als ein Argument wie folgt übergeben werden
CreateObject("Shell.Application").ShellExecute "D:\Probe1.bat","""Arg1 FileName"" ""Arg2 RunOptions""",,"runas",1
Auf einem anderen Rechner probiert und das Problem ist dasselbe. Zahlreiche Versuche und Kombinationen mit den Anführungszeichen habe ich in der VBS-Syntax vorgenommen und immer noch kein Erfolg.
Ich habe gelernt, dass in VBS die Anführungszeichen der Argumente verdoppelt werden müssen (und anschließend alle Argumente zusätzlich in Anführungszeichen umrahmen).
Woran kann es liegen?
Gruß
evinben
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 188110
Url: https://administrator.de/forum/mit-vb-sckript-eine-batch-datei-mit-mehr-als-einem-argument-auszufuehren-geht-nicht-188110.html
Ausgedruckt am: 07.04.2025 um 21:04 Uhr
4 Kommentare
Neuester Kommentar

Hallo rubberman!
Hatte mich leider verkuckt
Gruß Dieter
Hatte mich leider verkuckt
Gruß Dieter
Hallo evinben,
ich kann das Verhalten jetzt auch nicht zu 100% nachvollziehen, ich hatte allerdings auch keinen Erfolg den Batch direkt mit den beiden Argumenten aufzurufen.
Die zig Anführungszeichen machen das Lesen nun nicht gerade einfacher, darum vielleicht noch eine kleine Interpretationshilfe. Wenn du die von dir zitierte Regel mit Strings und Anführungszeichen mal umgekehrt anwendest (also umschließende Anführungszeichen entfernen und verdoppelte zu einfachen reduzieren), dann kommst du letztlich zu einer Kommandozeile, die wie folgt aussieht:
Das heißt, der gesamte Ausdruck ist in Anführungszeichen gefasst und die einzelnen Argumente nochmals extra, da sie Leerzeichen enthalten oder enthalten könnten.
Grüße
rubberman
ich kann das Verhalten jetzt auch nicht zu 100% nachvollziehen, ich hatte allerdings auch keinen Erfolg den Batch direkt mit den beiden Argumenten aufzurufen.
Die zig Anführungszeichen machen das Lesen nun nicht gerade einfacher, darum vielleicht noch eine kleine Interpretationshilfe. Wenn du die von dir zitierte Regel mit Strings und Anführungszeichen mal umgekehrt anwendest (also umschließende Anführungszeichen entfernen und verdoppelte zu einfachen reduzieren), dann kommst du letztlich zu einer Kommandozeile, die wie folgt aussieht:
cmd.exe /c ""D:\Probe1.bat" "Arg1 FileName" "Arg2 RunOptions""
Grüße
rubberman