none
Batch ausführen RRS feed

  • 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

    Mittwoch, 24. April 2013 14:26

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/


    • Bearbeitet Heslacher Donnerstag, 25. April 2013 06:22
    • Als Antwort markiert joksch_c Donnerstag, 25. April 2013 07:24
    Donnerstag, 25. April 2013 06:22

Alle Antworten

  • Hallo,

    probiere mal so:

    ...
    ProcessStartInfo f = new ProcessStartInfo;
    f.FileName = "cmd.exe";
    f.Arguments = @"P:\ProduktionsTools\aktuelles_Q\praxisCENTER3\CRC\_make_crc32_praxisCENTER3.bat";
    CRC.Start(f);
    ...

    Grüße

    Tu

    Mittwoch, 24. April 2013 14:45
  • Hallo,

    nee das funktioniert bei mir 

    ProcessStartInfo kann nicht mit einer Instanzverweis zugegriffen werden ist der Fehler den ich bekomme

    grüße

    Cay

    Donnerstag, 25. April 2013 05:54
  • 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/


    • Bearbeitet Heslacher Donnerstag, 25. April 2013 06:22
    • Als Antwort markiert joksch_c Donnerstag, 25. April 2013 07:24
    Donnerstag, 25. April 2013 06:22
  • Hallo,

    habe das gleiche Problem wie am Anfang CMD geht auf und gleich wieder zu

    grüße

    Cay

    Donnerstag, 25. April 2013 07:12
  • 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/

    Donnerstag, 25. April 2013 07:16
  • 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

    Donnerstag, 25. April 2013 07:20
  • So habe den Fehler gefunden.

    War meiner und kein Codefehler hatte den Inhalt der Batch falsch geschrieben.

    SORRY für die MÜHEN

    grüße

    Cay

    Donnerstag, 25. April 2013 07:25