haemse
Goto Top

echo in txt ausgeben

hallo zusammen,
ich würde gerne, am ende meiner batch datei einen befehl schreiben, der die gesamte ausgabe, die unter der batchdatei gemacht wurde in ein txt-file schreibt, quasi als log!

weiß jemand wie das geht?

Gruß haemse

Content-Key: 41722

Url: https://administrator.de/contentid/41722

Printed on: April 19, 2024 at 07:04 o'clock

Member: vista200
vista200 Oct 09, 2006 at 10:00:30 (UTC)
Goto Top
Man kann eine Ausgabe per ">" in eine Datei umleiten, also:

Batch.bat > Textdatei.txt

Nur funktioniert dies nicht mit Batch-Dateien, die eine Eingabe erfordern.
Member: miniversum
miniversum Oct 09, 2006 at 10:04:09 (UTC)
Goto Top
Einen Befehl der das macht gibts so nicht.
Aber du kannst bei jedem Befehl in der Betchdatei ein >>Log.txt dranhängen.
So wird z.B. die Ausgabe des Befehls "dir" mit "dir >>Log.txt" in die Datei Log.txt umgeleitet.

miniversum
Member: haemse
haemse Oct 09, 2006 at 10:10:06 (UTC)
Goto Top
ok also die ganzen operationen die die batch gemacht hat sind ausgeführt, normalerweise würde sich jetzt die konsole schließen, aber ich möchte alles was da ausgegeben wurde in eine txt schreiben - wie kann ich das machen?

@miniversum: wie kann ich das machen, dass alle befehle in eine datei umgeleitet werden sie aber trotzdem noch in der konsole ausgegeben werden?
Member: Biber
Biber Oct 09, 2006 at 10:20:38 (UTC)
Goto Top
Moin haemse,
ohne Zusatz-Utilities wie tee.exe, mtee.exe etc. kannst Du, wie richtig geschrieben wurde, unter M$-Win nur in einen Kanal (also eine Datei ODER auf Bildschirm) schreiben.

Aber: Du kannst natürlich alles umlieten in Deine LogXY.txt und dann noch ein "type logXY.txt" machen. Dann hast Du es auch auf dem Bildschirm.
Aber eben nicht Zeile für Zeile bei der Ausführung der Befehle, sondern als Kopie NACH Ende der Batch-Ausführung.

Gruß
Biber
Member: haemse
haemse Oct 09, 2006 at 10:25:02 (UTC)
Goto Top
ja genau das mein ich als kopie, am ende der Batch-Ausführung! danke
und wie mach ich so eine kopie bzw wie leite ich ALLE befehle/Ausgaben in eine Datei?

sorry

gruß haemse
Member: Biber
Biber Oct 09, 2006 at 10:58:30 (UTC)
Goto Top
s.o., haemse,
Ruf Deinen Batch so auf:

DeinBatch.bat>XYDatei.log && type XYDatei.Log && pause

Oder, schreib in DeinBatch.bat hinter jede erhaltenswerte Zeile: ">>XYDatei.log" und als vorletzte Zeile ein "type XYDatei.Log".

Gruß
Biber
Member: haemse
haemse Oct 09, 2006 at 11:20:29 (UTC)
Goto Top
habe eine batch geschrieben die die andere batch aufruft und zwar sieht die so aus:

C:\Dokumente und Einstellungen\haemse\Desktop\Datensicherung WSTH2.bat>"Logfile.log"

aber in der datei "Logfile.log" ist nach dem ablauf von "Datensicherung WSTH2.bat" nichts drin, die ausgabe erscheint ganz normal in der konsole!

Was ist da los?
Member: Biber
Biber Oct 09, 2006 at 11:28:11 (UTC)
Goto Top
Dann sind das alles Fehlermeldungen, die kommen... die werden immer über STDERR gleich Kanal 2 ausgegeben auf den Bildschirm.

Dann bitte ergänzen:

".......Datensicherung WSTH2.bat">Logfile.log 2>&1

[Nimm es einfach so hin oder: Forumsuche nach STDOUT bzw. STDERR.]

Biber
---
P.S. Kommen wir langsam in den Bereich, wo Du diesen Beitrag als "gelöst" kennzeichnest? *gg
Member: haemse
haemse Oct 09, 2006 at 11:32:26 (UTC)
Goto Top
ok bevor ich euch auf den sack geh, danke für die hilfe!
Member: Biber
Biber Oct 09, 2006 at 11:55:14 (UTC)
Goto Top
Nein, sorry, haemse,

so war es natürlich nicht gemeint... es soll auch erst dann "gelöst" sein, wenn es funktioniert.
Und so lange bleiben wir auch dran.

Biber,
der Montags immer etwas grummelig ist
Member: haemse
haemse Oct 09, 2006 at 12:08:55 (UTC)
Goto Top
ok ja dann ....
als beldeidigung hab ich das eh nicht aufgenommen face-smile da gehört schon mehr dazu!

naja fehlermeldungen sind das nicht, die da ausgegeben werden sollen, sondern nur die ausgaben des xcopy befehls, der auch funktioniert. trotzdem will das aber nicht und ich versteh nicht warum ... hab das so gemacht, wie ihr mir das gesagt habt!

was geht, ist wenn ich direkt hinter den befehl die anweisung geb, es in die datei zu streamen aber die datei öffnen, sodass alle ausgaben in die datei geschrieben werden funktionierte bis jetz noch nicht ...

ich hab mir gedacht, ich schreib halt die ausgaben der befehle in eine datei und dann kann ich die ja in der konsole öffnen (so ähnlich wie in linux edit...) sodass das der anwender auch lesen kann was da geschieht also wenn jemand weiß wie ich ein text file im konsoleneditor oder was auch immer in windows öffnen kann, dann bin ich ihm dankbar, wenn er es mir mitteilt.

danke für eure hilfe

Gruß haemse
Member: Biber
Biber Oct 09, 2006 at 13:27:19 (UTC)
Goto Top
Eventuell diesen "Verzeichnisnamen mit Leerzeichen\*.bat" in Anführungszeichen setzen.
>echo echo hallo >"c:\Dokumente und Einstellungen\dl10hfr\test.bat"  
>"c:\Dokumente und Einstellungen\Biber\test.bat">logfile.txt  
>type logfile.txt
>echo hallo
hallo
So funktioniert es bei mir jedenfalls.

Gruß
Biber
Member: haemse
haemse Oct 09, 2006 at 15:48:15 (UTC)
Goto Top
seltsamer weise hat es jetzt gegeht
danke Biber und auch den anderen
gruß haemse