Datum automatisch zu einer TXT anhängen
Hallo zusammen
Ich möchte bzw. habe mir eine batchdatei erstellt, die 5 logfiles zu einem txt zusammenführt. Das Skript wird später immer Mittags um 12 ausgeführt. Ich möchte nun das dieses Skript immer automatisch eine neue .txt mit dem aktuellen Datum erstellt. Bis jetzt überschreibt der Batch die Datei immer.
Hier ist das was ich bis jetzt habe.
type D:\txt\Daten\test1\TC_TIMER.txt D:\txt\Daten\test2\TC_TIMER.txt D:\txt\Daten\test3\TC_TIMER.txt D:\txt\Daten\test4\TC_TIMER.txt D:\txt\Daten\test5\TC_TIMER.txt >D:\TXT\Sammeldatei\sammel.txt
Leider sind meine kentnisse über batchdateien nicht sehr gross. Darum bitte ich um hilfe.
Danke im voraus.
mfg drwalemc
Ich möchte bzw. habe mir eine batchdatei erstellt, die 5 logfiles zu einem txt zusammenführt. Das Skript wird später immer Mittags um 12 ausgeführt. Ich möchte nun das dieses Skript immer automatisch eine neue .txt mit dem aktuellen Datum erstellt. Bis jetzt überschreibt der Batch die Datei immer.
Hier ist das was ich bis jetzt habe.
type D:\txt\Daten\test1\TC_TIMER.txt D:\txt\Daten\test2\TC_TIMER.txt D:\txt\Daten\test3\TC_TIMER.txt D:\txt\Daten\test4\TC_TIMER.txt D:\txt\Daten\test5\TC_TIMER.txt >D:\TXT\Sammeldatei\sammel.txt
Leider sind meine kentnisse über batchdateien nicht sehr gross. Darum bitte ich um hilfe.
Danke im voraus.
mfg drwalemc
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 121643
Url: https://administrator.de/contentid/121643
Ausgedruckt am: 26.11.2024 um 11:11 Uhr
5 Kommentare
Neuester Kommentar
Hi,
damit deine txt nicht immer überschrieben wird musst du statt dem einfachen > das >> benutzen. Wenn du >> benutzt wird er dir die txt Datei nicht mehr überschreiben sondern wird immer wieder dazuschreiben.
also:
Und für das aktuelle Datum brauchtst du
Durch das /T wird mitgeteilt, dass nur das aktuelle Datum ausgegeben werden soll.
Im Prinzip sollte das dann bei dir so aussehen:
Wenn du im Command "help" eingibst kommt eine ganze Liste von Befehlen. Wenn du zu den Befehlen mehr wissen möchtest dann schreibe den Befehl und dahinter "/?". Dann kommt da eine Erklärung. Mir persönlich hat das geholfen.
Gruß Raffi
damit deine txt nicht immer überschrieben wird musst du statt dem einfachen > das >> benutzen. Wenn du >> benutzt wird er dir die txt Datei nicht mehr überschreiben sondern wird immer wieder dazuschreiben.
also:
type D:\txt\Daten\test1\TC_TIMER.txt D:\txt\Daten\test2\TC_TIMER.txt D:\txt\Daten\test3\TC_TIMER.txt D:\txt\Daten\test4\TC_TIMER.txt D:\txt\Daten\test5\TC_TIMER.txt >> D:\TXT\Sammeldatei\sammel.txt
Und für das aktuelle Datum brauchtst du
date /T
Durch das /T wird mitgeteilt, dass nur das aktuelle Datum ausgegeben werden soll.
Im Prinzip sollte das dann bei dir so aussehen:
date /T >> D:\TXT\Sammeldatei\sammel.txt
type D:\txt\Daten\test1\TC_TIMER.txt D:\txt\Daten\test2\TC_TIMER.txt D:\txt\Daten\test3\TC_TIMER.txt D:\txt\Daten\test4\TC_TIMER.txt D:\txt\Daten\test5\TC_TIMER.txt >> D:\TXT\Sammeldatei\sammel.txt
Wenn du im Command "help" eingibst kommt eine ganze Liste von Befehlen. Wenn du zu den Befehlen mehr wissen möchtest dann schreibe den Befehl und dahinter "/?". Dann kommt da eine Erklärung. Mir persönlich hat das geholfen.
Gruß Raffi
Hier mal ein Code für dich, kannst du dann an deine Verz. anpassen.
Das ganze packst du in eine .bat und startest sie.
Mfg.
Code:
[Edit Biber] Code-Tags ergänzt.[/Edit]
Das ganze packst du in eine .bat und startest sie.
Mfg.
Code:
@echo off
rem ************************************************************
rem *
rem * Batch zur Speicherung einer Datei mit dem aktuellen
rem * Datum & Zeit als Namensanhängsel
rem *
rem * created 30.07.09
rem * code by Ghost@DevilzZ.de
rem *
rem ************************************************************
set LOGFILE=C:\"Ihr-Logfile.txt"
rem ************************************************************
rem * existiert das Logfile ?
rem ************************************************************
if exist %LOGFILE% goto SAVEFILE
echo ERROR: Protokoll-Datei "%LOGFILE%" nicht gefunden!
:SAVEFILE
rem ************************************************************
rem * aktuelles Datum / aktuelle Zeit einholen
rem ************************************************************
set TAG=%DATE:~3,2%
set MONAT=%DATE:~6,2%
set JAHR=%DATE:~9,4%
set STD=%TIME:~0,2%
set MIN=%TIME:~3,2%
rem ************************************************************
rem * neuen Dateinamen festlegen, Datei umspeichern
rem ************************************************************
set NEW_LOGFILE=%LOGFILE%.%JAHR%-%MONAT%-%TAG%.%STD%%MIN%Uhr.txt
copy %LOGFILE% "%NEW_LOGFILE%"
exit
[Edit Biber] Code-Tags ergänzt.[/Edit]
Hab bei mir so laufen bsp BgInfo
echo BgInfo wurde am %date% um %time:~0,8% Uhr auf dem Rechner %computername% aktualisiert.>>\\183.xxx.xxx.xxx\Logs$\BgInfo.log
Sieht dann so aus in der Log
BgInfo wurde am Di 21.07.2009 um 7:34:46 Uhr auf dem Rechner XXXXXXXXXXXXXXX aktualisiert.
Also wie von rubberman geschrieben einfach stadt Dateinamen die Variable %date% oder %time% einsetzen und er schreibt immer Das Datum rein >> nicht vergessen sonst wir die Dateiüberschrieben und nicht angehängt wie Beschrieben
echo BgInfo wurde am %date% um %time:~0,8% Uhr auf dem Rechner %computername% aktualisiert.>>\\183.xxx.xxx.xxx\Logs$\BgInfo.log
Sieht dann so aus in der Log
BgInfo wurde am Di 21.07.2009 um 7:34:46 Uhr auf dem Rechner XXXXXXXXXXXXXXX aktualisiert.
Also wie von rubberman geschrieben einfach stadt Dateinamen die Variable %date% oder %time% einsetzen und er schreibt immer Das Datum rein >> nicht vergessen sonst wir die Dateiüberschrieben und nicht angehängt wie Beschrieben