Variable in Batchdateien
Hallo, ich habe mich in eurem Forum umgesehen und denke hier bekomme ich eine Anwort auf meim Problem. Es handelt sich um eine Batch-Datei, die ich zur Datensicherung von meinem Rechner auf eine externe Festplatte einsetze. Grund für diese Datei ist, daß nur die Dateien, die ein neueres Datum als bei der letzten Sicherung haben kopiert werden.
Meine Batch-Datei sieht so aus:
@echo off
@echo LETZTE Aktualisierung WAR VOM 07.April 2009 bis 01.Juli 2009 nächster Datumseintrag also 6-1-2009
@echo Dieser Batch kopiert Dateien von Laufwerk E:\Daten nach M:\Sicherung_mit_Batch\Daten_2009, die nach
@echo dem 07.April 2009 angelegt wurden
@echo.
set heute=4-7-2009
@echo ERST Datum "heute" eintragen (M-T-J)!
@echo Eingetragen ist %heute%.
@echo.
@echo Abbrechen mit Strg+C oder
pause
xcopy E:\Daten\* C:\temp/D:%heute% /E
pause
vor dem Start der Batch-Datei editiere ich die Zeile: set heute mit dem neuen Datumseintrag.
Ich möchte die Datei so umschreiben, daß das aktuelle Datum als Variable übernommen wird und gespeichert bleibt.
Beim nächsten Aufruf der Datei soll diese Variabel als "set heute" übergeben werden.
So brauche ich Datei nur aufzurufen, und das Datum aktualiesiert sich.
vielleicht gibs hierfür eine Lösung.
Gruss Konstrukteur
Meine Batch-Datei sieht so aus:
@echo off
@echo LETZTE Aktualisierung WAR VOM 07.April 2009 bis 01.Juli 2009 nächster Datumseintrag also 6-1-2009
@echo Dieser Batch kopiert Dateien von Laufwerk E:\Daten nach M:\Sicherung_mit_Batch\Daten_2009, die nach
@echo dem 07.April 2009 angelegt wurden
@echo.
set heute=4-7-2009
@echo ERST Datum "heute" eintragen (M-T-J)!
@echo Eingetragen ist %heute%.
@echo.
@echo Abbrechen mit Strg+C oder
pause
xcopy E:\Daten\* C:\temp/D:%heute% /E
pause
vor dem Start der Batch-Datei editiere ich die Zeile: set heute mit dem neuen Datumseintrag.
Ich möchte die Datei so umschreiben, daß das aktuelle Datum als Variable übernommen wird und gespeichert bleibt.
Beim nächsten Aufruf der Datei soll diese Variabel als "set heute" übergeben werden.
So brauche ich Datei nur aufzurufen, und das Datum aktualiesiert sich.
vielleicht gibs hierfür eine Lösung.
Gruss Konstrukteur
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 129413
Url: https://administrator.de/forum/variable-in-batchdateien-129413.html
Ausgedruckt am: 18.04.2025 um 10:04 Uhr
3 Kommentare
Neuester Kommentar

Servus,
so ganz hab ich dein Vorhaben nicht verstanden. (Für was ist die Info, wann die Daten das letzte mal kopiert wurden -wen n Sie eh immer wieder in den gleichen Pfad kopiert werden)?
Ich würde das mit logfiles und einem zipper machen.
Aber zu einer deiner Fragen:
Und wenn du jetzt neugierig geworden bist....
Biber schreibt hier sehr viele Antorten und hat fast keinen "eigenen" Beitrag geschrieben - aber einer dieser "Beiträge" befasst sich mit Batch und Datum.
Aber Achtung, das "schafftst" du nicht an einem Stück durchzulesen
Und da findest du so fast alles, was es zu dem Thema gibt.
Gruß
so ganz hab ich dein Vorhaben nicht verstanden. (Für was ist die Info, wann die Daten das letzte mal kopiert wurden -wen n Sie eh immer wieder in den gleichen Pfad kopiert werden)?
Ich würde das mit logfiles und einem zipper machen.
Aber zu einer deiner Fragen:
Date /t
wirft das aktuelle Datum aus.Und wenn du jetzt neugierig geworden bist....
Biber schreibt hier sehr viele Antorten und hat fast keinen "eigenen" Beitrag geschrieben - aber einer dieser "Beiträge" befasst sich mit Batch und Datum.
Aber Achtung, das "schafftst" du nicht an einem Stück durchzulesen
Gruß
Hallo Konstrukteur und willkommen im Forum!
Nur als Anmerkung: Wenn es nur darum geht, mit ""
Um einen Variableninhalt zu speichern, bietet sich die Verwendung einer simplen Textdatei an:
Zum Auslesen dann:
Grüße
bastla
Nur als Anmerkung: Wenn es nur darum geht, mit ""
xcopy
" neuere (und zusätzliche) Dateien zu kopieren, würde der Schalter "/D
" ganz ohne Angabe eines Datums genügen ...Um einen Variableninhalt zu speichern, bietet sich die Verwendung einer simplen Textdatei an:
set heute>D:\Zuletzt.txt
for /f "delims=" %%i in (D:\Zuletzt.txt) do set "%%i"
bastla