Batchdatei - Ziel Ordner aktueller Monat
Hallo,
ich habe lokal auf einem Computer einige Dateien, die täglich mittels einer Batchdatei auf den Server kopiert werden. Wie kann ich es machen, dass die Daten nicht immer in den gleichen Ordner kopiert werden, sondern in den Ordner des aktuellen Monats.
Gibt es eine Variable für den aktuellen Monat?
z.b.: xcopy c:\Test s:\ziel\Monat
Danke Gruß Christoph
ich habe lokal auf einem Computer einige Dateien, die täglich mittels einer Batchdatei auf den Server kopiert werden. Wie kann ich es machen, dass die Daten nicht immer in den gleichen Ordner kopiert werden, sondern in den Ordner des aktuellen Monats.
Gibt es eine Variable für den aktuellen Monat?
z.b.: xcopy c:\Test s:\ziel\Monat
Danke Gruß Christoph
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6671
Url: https://administrator.de/contentid/6671
Ausgedruckt am: 17.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
du kannst mit einer for-Schleife den Monat aus dem Datum auslesen. In einer Batchdatei könnte das ganze so aussehen:
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%c
Der Monat wird in die Variable sichdate geschreiben. Mit dieser Variablen kannst du dann in deiner Batchdatei weiter arbeiten, z.B.:
xcopy c:\Test s:\ziel\%sichdate%
Gruß
Michael
du kannst mit einer for-Schleife den Monat aus dem Datum auslesen. In einer Batchdatei könnte das ganze so aussehen:
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%c
Der Monat wird in die Variable sichdate geschreiben. Mit dieser Variablen kannst du dann in deiner Batchdatei weiter arbeiten, z.B.:
xcopy c:\Test s:\ziel\%sichdate%
Gruß
Michael
Hallo,
mit einer if-Abfrage kannst du auch nachsehen, ob ein Ordner schon vorhanden ist, z.B.:
if exist c:\testord goto punkt1
md c:\testord
:punkt1
Bei den Ordnernamen kannst du auch mit Variablen arbeiten (z.B. dem ermittelten Monat). Mit der for-Schleife zerlegst du die Ausgabe, die der Befehl date /t erzeugt, in einzelne Bestandteile. Unter delims legst du fest, welche Trennzeichen die einzelnen Bereiche trennen sollen und mit tokens sagst du ihm, wie viele / welche Bereiche du brauchst. Der erste Token erhält dann %%a, der zweite %%b usw. Wenn du die Jahreszahl mit in die Namensvergabe der Ordner einbinden willst, könnte das in etwa so aussehen:
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%d_%%c
Gruß
Michael
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%d_%%c
mit einer if-Abfrage kannst du auch nachsehen, ob ein Ordner schon vorhanden ist, z.B.:
if exist c:\testord goto punkt1
md c:\testord
:punkt1
Bei den Ordnernamen kannst du auch mit Variablen arbeiten (z.B. dem ermittelten Monat). Mit der for-Schleife zerlegst du die Ausgabe, die der Befehl date /t erzeugt, in einzelne Bestandteile. Unter delims legst du fest, welche Trennzeichen die einzelnen Bereiche trennen sollen und mit tokens sagst du ihm, wie viele / welche Bereiche du brauchst. Der erste Token erhält dann %%a, der zweite %%b usw. Wenn du die Jahreszahl mit in die Namensvergabe der Ordner einbinden willst, könnte das in etwa so aussehen:
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%d_%%c
Gruß
Michael
@for /F "tokens=1,2,3,4 delims=. " %%a in ('date /t') do set sichdate=%%d_%%c