tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
758
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    AlbertT AlbertT ist offline Grünschnabel
    Registriert seit
    Jun 2005
    Beiträge
    1
    Hallo,

    ich starte ein Programm mit Process.Start(name,parameter)
    jetzt möchte ich die Ausgabe gerne in eine Datei umleiten.

    unter DOS würde das so aussehen name parameter > umleitung.txt.

    wenn ich in den parameter-String " > umleitung.txt" schreibe beendet sich der Prozess gleich wieder, gibt es eine Möglichkeit wie ich das hinbekommen kann?

    Schon mal vielen Dank für eure Antworten.

    Gruß
    Albert
     

  2. #2
    LieberNet LieberNet ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Ort
    Wels
    Beiträge
    38
    Hi Albert!
    Das mit dem Umleiten ">filename.ext" wird vom Betriebssystem gemacht und muss im Programm nicht implementiert werden. D.h. die Argumente werden beim Programmstart gefiltert und Ausgabeumleitungen aus der Argumentliste entfernt. So siehts bei der CommandLine aus.
    Wenn Du das Ganze dann aber über Process.Start im C# machst, wird die Umleitung AUCH an das Programm als Argument übergeben. Es kann natürlich sein, das Dein Programm mit diesem Argument nicht zurechtkommt und sich daher gleich wieder beendet. Die Ausgaben Deines Prozesses kannst Du Dir aber direkt in Dein Programm reinholen und damit tun was Du willst. Weil gleich viel komfortabler Also dieser Umleitstring ">filename.ext" darf nicht in den Argumenten übergeben werden
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
                    Process p = new Process();
                    p.StartInfo.FileName = "C:\\MeinProgramm.exe";
                    p.StartInfo.Arguments = "-argumente";
                    p.StartInfo.UseShellExecute = false;
                    p.StartInfo.RedirectStandardOutput = true;
                    p.Start();
                    string op = p.StandardOutput.ReadToEnd();
                    MessageBox.Show(op);
    Im op String befinden sich die Ausgaben Deiner Exe. Die hier mal mit einer MsgBox ausgegeben werden. Du kannst natürlich über das StandardOutput jede Ausgabe auch einzeln lesen usw.. (=StreamReader)
    Hoffe ich konnte Dir helfen.
    Ciao
    LieberNet
    Geändert von LieberNet (17.06.05 um 10:36 Uhr)
     

Ähnliche Themen

  1. Ein/Ausgabe Stream umleiten
    Von AdmiralX im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 21.01.08, 09:57
  2. ausgabe von cmd.exe in variable umleiten
    Von Wechselrichter im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 15.05.07, 16:18
  3. Ausgabe in String umleiten
    Von Coalminer im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 08.03.05, 21:55
  4. Ausgabe umleiten
    Von Eva im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 08.03.04, 19:41
  5. [MS-DOS] Ausgabe in Datei umleiten
    Von JanDelay im Forum Microsoft Windows
    Antworten: 4
    Letzter Beitrag: 16.10.03, 23:53