Benutzer mit den meisten Antworten
Batch ausführen

Frage
-
Hallo,
habe folgenden Code
private void MakeCrc_click(object sender, RoutedEventArgs e) { Process CRC = new Process(); CRC.StartInfo.FileName = @"P:\ProduktionsTools\aktuelles_Q\praxisCENTER3\CRC\_make_crc32_praxisCENTER3.bat"; CRC.Start(); CRC.WaitForExit(); CRC.Close(); }
in der Batch steht folgendes:
crc32.exe crc_settings_COMPONENTS.xml
Das einzige was passiert ist das die cmd.exe kurz aufgeht und gleich wieder zu ohne das die Batch ausgeführt wird.
Was ist da verkehrt ??
danke
Cay
Antworten
-
Cay,
Du musst für die cmd.exe noch den /C Parameter mit angeben:
Process CRC = new Process(); CRC.StartInfo.FileName = @"cmd.exe"; CRC.StartInfo.Arguments = @"/C P:\ProduktionsTools\aktuelles_Q\praxisCENTER3\CRC\_make_crc32_praxisCENTER3.bat"; CRC.Start(); CRC.WaitForExit(); CRC.Close();
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/
Alle Antworten
-
Cay,
Du musst für die cmd.exe noch den /C Parameter mit angeben:
Process CRC = new Process(); CRC.StartInfo.FileName = @"cmd.exe"; CRC.StartInfo.Arguments = @"/C P:\ProduktionsTools\aktuelles_Q\praxisCENTER3\CRC\_make_crc32_praxisCENTER3.bat"; CRC.Start(); CRC.WaitForExit(); CRC.Close();
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/ -
Dann musst Du noch das StartInfo.WorkingDirectory setzen.
Hannes
If you have got questions about this, just ask.
In a perfect world,
users would never enter data in the wrong form,
files they choose to open would always exist
and code would never have bugs.
C# to VB.NET: http://www.developerfusion.com/tools/convert/csharp-to-vb/ -
Hallo,
nee das funktioniert bei mir
ProcessStartInfo kann nicht mit einer Instanzverweis zugegriffen werden ist der Fehler den ich bekomme
grüße
Cay
Sorry, mein Fehler, die Instanz ProcessStartInfo kann man nicht so verwenden, wenn dann nur direkt mit Process.Start(f);
Wenn bei dem Code von Hannes nicht funktioniert, könnte es sein, dass deine Batchdatei nicht funktioniert(?!). Hast du denn schon probiert, die Batchdatei manuell aufzurufen? Wie sieht denn deine %PATH% Umgebungsvariable aus? Kann cmd deine exe-Datei von selbst finden?
Grüße
Tu