Batchausgabe in Text Datei
Ergebnis von Durchlauf in eine Text Datei schreiben
Hallo zusammen,
ich bin ein blutiger Batch - Script - Anfänger
Ich habe ein kleines Script geschrieben mit dem ein Defragmentierungstool unter Windows 2000 auf Kommandoebene ausgeführt wird ( Tool heist CONTIG). Nun möchte ich gerne das Ergebnis (sprich die Meldungen, die in dem DOS Fenster gezeigt werden) in eine Text (LOG) Datei geschrieben wird. Für eine kleine Hifestellung wäre ich sehr dankbar.
Vielen Dank im Vorraus
Grüsse
Gerhard
Hallo zusammen,
ich bin ein blutiger Batch - Script - Anfänger
Ich habe ein kleines Script geschrieben mit dem ein Defragmentierungstool unter Windows 2000 auf Kommandoebene ausgeführt wird ( Tool heist CONTIG). Nun möchte ich gerne das Ergebnis (sprich die Meldungen, die in dem DOS Fenster gezeigt werden) in eine Text (LOG) Datei geschrieben wird. Für eine kleine Hifestellung wäre ich sehr dankbar.
Vielen Dank im Vorraus
Grüsse
Gerhard
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 42887
Url: https://administrator.de/contentid/42887
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
7 Kommentare
Neuester Kommentar
oder man kann auch ">>" werden die weitern Ausgaben in die Log-Datei darangehängt.
mit ">" (umleiten, Datei neu anlegen) und ">>" (falls Ziel-Datei vorhanden, anhängen) werden aber sämtliche Ausgaben umgeleitet. D.h. es erfolgt keine Bildschirmausgabe mehr. Falls also Gerhard Beides gleichzeitig will müsste er dafür sorgen das die Ausgabe doppelt in die Batch geschrieben wird.
Bsp:
echo Tool ist Fertig! (damit erfolgt Ausgabe auf Bildschirm)
echo Tool ist Fertig! > irgendeine.txt (schreibt "Tool ist Fertig!" in die *.txt, Ausgabe auf dem Bildschirm wird unterdrückt)
gruß
onegasse59
...vollkommen richtig, onegasee59,
und dieses leidige Thema "Manchmal will ich aber in eine Logdatei schreiben und auch auf dem Bildschirm mitlesen" ist unter M$-Batch nur mit Tricks möglich.
Es wird kein "TEE"-Befehl wie unter Unix unterstützt, der "sowohl-als-auch" in Datei und auf den Bildschirm schreibt.
Dazu fallen mir drei Strategien ein:
a) den Befehl doppelt ausführen, wie Du es eben vorgeturnt hast.
Lässt sich zwar lesbarer kürzen..
...aber der Befehl muss dennoch zweimal ausgeführt werden.
Kein Problem bei einem "echo Bla ich erzähl Dir was.."-Befehl, aber viel zu langsam oder auch gar nicht mehrfach ausführbar bei anderen Befehlen.
Beispiel: ein "net use x: ..." ist eben nur einmal ausführbar.
Und ein Chkdsk oder ein Virenscan auf allen Laufwerken zweimal laufen zu lassen, weil das Ergebnis einmal auf den Bildschirm soll und einmal in ein Logfile.... eher suboptimal.
In diesen Fällen dann lieber
b) Alles in eine Logdatei schreiben ( >irgendeine.txt) und am Ende des Batches noch mit "type irgendeine.txt" den ganzen Quatsch nochmal anzeigen.
c) die nur auf dem eigenen Rechner empfohlene Variante wäre die tatsächlich Nutzung des TEE-Befehls über Freeware-Utilities wie Tee.exe, mtee.exe... - aber da lässt sich immer nur auf dem eigenen PC garantieren, dass die vorhanden sind.
Gruß
Biber
P.S. Ich habe den Beitrag von "Entwicklung" nach "Batch & Shell" verschoben.
und dieses leidige Thema "Manchmal will ich aber in eine Logdatei schreiben und auch auf dem Bildschirm mitlesen" ist unter M$-Batch nur mit Tricks möglich.
Es wird kein "TEE"-Befehl wie unter Unix unterstützt, der "sowohl-als-auch" in Datei und auf den Bildschirm schreibt.
Dazu fallen mir drei Strategien ein:
a) den Befehl doppelt ausführen, wie Du es eben vorgeturnt hast.
Lässt sich zwar lesbarer kürzen..
for %%i in (con irgendeine.txt) do echo Tool ist fertig! >> %%i
Kein Problem bei einem "echo Bla ich erzähl Dir was.."-Befehl, aber viel zu langsam oder auch gar nicht mehrfach ausführbar bei anderen Befehlen.
Beispiel: ein "net use x: ..." ist eben nur einmal ausführbar.
Und ein Chkdsk oder ein Virenscan auf allen Laufwerken zweimal laufen zu lassen, weil das Ergebnis einmal auf den Bildschirm soll und einmal in ein Logfile.... eher suboptimal.
In diesen Fällen dann lieber
b) Alles in eine Logdatei schreiben ( >irgendeine.txt) und am Ende des Batches noch mit "type irgendeine.txt" den ganzen Quatsch nochmal anzeigen.
c) die nur auf dem eigenen Rechner empfohlene Variante wäre die tatsächlich Nutzung des TEE-Befehls über Freeware-Utilities wie Tee.exe, mtee.exe... - aber da lässt sich immer nur auf dem eigenen PC garantieren, dass die vorhanden sind.
Gruß
Biber
P.S. Ich habe den Beitrag von "Entwicklung" nach "Batch & Shell" verschoben.