Ausführen von mehreren Commands über den Scripting Host

Wenn man mehrere verschachtelte Commands über den Scripting Host ausführen will, kann man lustige Sachen erleben. So geschehen mit folgender Befehlskette bei mir:

perl myscript.pl parameter1 parameter2 > output

Mittels eines Perlscripts, welches ich über den Perlinterpreter perl.exe starte und welchem ich aus einem vbscript heraus dynamisch parameter zuweise generiere ich ein Outputfile. Der Versuch diesen String direkt über die Run-Methode auszuführen scheiterte jedoch, weil die Befehlskette falsch interpretiert wird:

WSHShell.Run "perl myscript.pl parameter1 parameter2 > output", 1, false

Nach etwas herumprobieren kam ich dann auf die einfachste Lösung. Anstelle des eigentlichen Commands wird der Befehlsinterpreter cmd.exe gestartet, welcher die ganze Kette wiederum als Parameter bekommt.

SHShell.Run "cmd " & "perl myscript.pl parameter1 parameter2 > output", 1, false

Print | posted @ Wednesday, August 17, 2005 2:19 PM