C# CMD Output Umleiten

florian.

Fleet Admiral
Registriert
Okt. 2006
Beiträge
21.966
Hallo Zusammen,

Ich hab ein Problem mit dem CMD Output, vielleicht könnt ihr mir ja auf die Sprünge helfen.

Ich hab ein Programm, das besteht aus zwei EXEn
Ich möchte jetzt einfach nur den Output haben, also eigentlich simpel. (dachte ich)

CMD: pfad\EXE1.exe >D:\Output.txt
funktioniert, das CMD Fenster bleibt leer, im txt File stehen die Daten.
EXE1 kann ich aber leider nicht nutzen, ich muss zwingend EXE2 nutzen.

CMD: pfad\EXE2.exe >D:\Output.txt
funktioniert nicht, das txt file bleibt leer, stattdessen wird der Output den ich haben will in der CMD angezeigt.


Meine laienhafte Vermutung: EXE2 ruft EXE1 auf und der Output von EXE1 landet nur in der CMD, nicht aber im Output. Könnte ich damit recht haben? Was könnte ich tun, um dieses Problem zu lösen?

Genutzt wird letztendlich C#, dort kämpf ich mit dem Identischen Problem. Process.Start liefert bei EXE2 keinen Output.
 
Achja, ich nutze WIN10, Home:

das bringt leider nichts.
Ich hab jetzt in der Powershell folgendes eingegeben:
".\EXE2.exe" *>D:\Output.txt
Das sollte ja alle Streams weiterleiten
Das Textfile wird erstellt (leer) und die Informationen landen weiterhin in der Powershell.
 
Hi,

könntest du nicht einfach einen process starten, der shellexecute auf false setzt und den Output einfach einlesen und am Ende speichern?

Sowas in der Art.

VG,
Mad
 
hallo Madman1209,
Das ist der Standard weg, den ich bisher bei EXE1 genutzt hab und auch wunderbar Funktioniert.
Bei EXE2 geht das wie gesagt nicht.

Ich versteh halt nicht, was da technisch dahinter steckt.
EXE2 muss die daten ja irgendwie schreiben, CMD (oder auch Powershell) empfängt die Daten ja.

gibt es einen weg, alles was in der CMD geschrieben steht nachträglich abzuspeichern?
 
ja
in C# hab ich schon alle möglichen Wege versucht die Google so vorschlägt.
 
Zurück
Oben