Batch- Gleichzeitige Ausgabe eines echos und speichern in Datei
Ich möchte mittels Batch echos zum einen im Fenster anzeigen lassen, zum anderen gleichzeitig als Logfile in einer .txt speichern
Hi!
So weit bin ich bis jetzt:
echo Datum gespeichert > %CD%/log/[%date%]- Logfile Server.txt
Allerdings bekomm ich das nie in der "Batchbox" angezeigt. Es wird immer nur in die Logfile Server.txt geschrieben.
Ich könnte jetzt natürlich alles doppelt schreiben:
, aber geht das auch anders? Schließlich vergeht ja eine gewisse Zeit bis der erste Befehl abgearbeitet ist und dann ist die Zeit ja nicht mehr synchron...
lg Kuhni
Hi!
So weit bin ich bis jetzt:
echo Datum gespeichert > %CD%/log/[%date%]- Logfile Server.txt
Allerdings bekomm ich das nie in der "Batchbox" angezeigt. Es wird immer nur in die Logfile Server.txt geschrieben.
Ich könnte jetzt natürlich alles doppelt schreiben:
echo %time% Datum gespeichert >> "%CD%/log/[%date%]- Logfile Server.txt"
echo Datum gespeichert
, aber geht das auch anders? Schließlich vergeht ja eine gewisse Zeit bis der erste Befehl abgearbeitet ist und dann ist die Zeit ja nicht mehr synchron...
lg Kuhni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 133589
Url: https://administrator.de/contentid/133589
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo kuhnikuehnast!
Halte den Timestamp einfach in einer Variablen fest:
Ganz nebenbei: Wozu "%CD%" in der Pfadangabe dienen sollte, ist mir nicht klar ...
Ansonsten zum Thema: Batch - mit und ohne tee - Konsoleausgaben zugleich in eine Datei leiten und auf dem Bildschirm ausgeben (findest Du auch ein Stück weiter unten auf dieser Seite hier )
Grüße
bastla
Halte den Timestamp einfach in einer Variablen fest:
set "Zeit=%time%"
echo %Zeit% Datum gespeichert>>"log/[%date%]- Logfile Server.txt"
echo %Zeit% Datum gespeichert
Ansonsten zum Thema: Batch - mit und ohne tee - Konsoleausgaben zugleich in eine Datei leiten und auf dem Bildschirm ausgeben (findest Du auch ein Stück weiter unten auf dieser Seite hier )
Grüße
bastla
Hallo kuhnikuehnast!
[Edit] Etwas zu langsam ...
erforderlich
[/Edit]
Grüße
bastla
P.S.: Ich finde %CD% weiterhin überflüssig ...
Gibt es da eine Möglichkeit, dass ich als Parameter eben einen ganzen Satz übergeben kann ohne Leerzeichen?
Ich nehme an, Du meintest nicht "Leerzeichen", sondern "Anführungszeichen" ...@echo off & setlocal
if not exist "%CD%/log/" mkdir "%CD%/log/"
echo Hallo
echo.
call :ausgabe "Dies ist ein Test"
echo Beendet
pause
goto :eof
:ausgabe
set Zeit=%time%
echo %Zeit% %~1 >> "%CD%/log/[%date%]- Logfile Server.txt"
echo %Zeit% %~1
goto :eof
noch einfacher: %~ --> einfach alles wird übergeben, Anführungszeichen werden nicht mehr benötigt!
Um den gesamten, ohne Anführungszeichen übergebenen, Text auszugeben, ist (bei mir unter XP) die Schreibweiseecho %*
[/Edit]
Grüße
bastla
P.S.: Ich finde %CD% weiterhin überflüssig ...