Zyklische CMD Ausgaben einer *.exe in eine Datei umleiten.

brenner

Commander
Registriert
Apr. 2002
Beiträge
3.037
Ich habe ein Programm welches zyklisch (alle 10s) eine Ausgabe in der cmd erzeugt.
Soweit so gut.

Ich möcht gerne genau EINE Ausgabe in eine Textdatei schreiben.

Wenn ich das Programm mit z.B. ">ausgabe.txt" aufrufe füllt sich die Datei ständig, also alle 10s mit einem neuen Textabschnitt. Diese Ausgabeart kann ich aber nicht gebrauchen.

Ich brauche genau eine Ausgabe (im 10s Abschnitt) in der Datei. Diese Datei kann dann entweder jeder 10s aktualisiert werden oder im Minutentakt, aber eben nur mit dem Inhalt einer Ausgabe.

Kann man eventuell auch dafür sorgen das das Programm aufgerufen wird, in die Datei schreibt und wieder abgewürgt. Nach einer Minute dann wieder das gleiche usw. usw.?
 
Also soweit ich weiß, ist auf der cmd ">" Umleiten und ">>" Umleiten mit anhängen.
Du kannst dir dazu auch mal den Technet-Artikel ansehen.
 
Eben genau das funktioniert nicht, da der cmd aufruf nicht erneut erfolgt sondern durchläuft!!
 
Du kannst deine Idee mit dem Aufrufen/Schreiben/Beenden evtl. mit Hilfe einer Batch Datei Lösen.
Darin kannst du dein Programm aufrufen, warten bis die Datei existiert und dann das Programm mit "taskkill" beenden.

In vereinfachter Form etwa so:

Code:
@echo off
start Programm.exe > test.txt
:loop
if not exist Test.txt goto loop
taskkill /im Programm.exe
Das Ganze kannst du dann wiederum nochmal in eine Schleife packen um es mehrmals auszuführen.
Alternativ kannst du auch noch ein paar Sekunden warten bevor du den taskkill ausführst wenn die Datei noch leer sein sollte.

Code:
@echo off
start Programm.exe > test.txt
:loop
if not exist Test.txt goto loop
ping 1.1.1.1 -n 1 -w 1000 > NUL
taskkill /im Programm.exe
Wie gesagt, das ist nur ein rudimentärer Ansatz.
 
Zurück
Oben