Batchdatei mit täglich neuem Ordner und kopieren aus verschiedenen Quellen
Mahlzeit,
ich versuche krampfhaft eine Sicherung für Daten eines Servers mit einer Batchdatei zu erstellen.
Was ansich nicht das Problem ist, aber ich möchte das ein neuer Ordner mit dem Datum angelegt wird
(%date% ...klappt auch) in den dann von verschiedenen Ordnern die Daten reingesichert werden (klappt nicht).
Ich muß irgendwie den folgenden xcopy-Zeilen verklickern, das sie in den %date%-Ordner reinkopieren sollen. Dummerweise weiß ich nicht wie ich das umsetzen soll.
Hat jemand eine Idee oder weiß es einfach, wie ich das realisieren kann?
P.S. ist eine tägliche Sicherung
ich versuche krampfhaft eine Sicherung für Daten eines Servers mit einer Batchdatei zu erstellen.
Was ansich nicht das Problem ist, aber ich möchte das ein neuer Ordner mit dem Datum angelegt wird
(%date% ...klappt auch) in den dann von verschiedenen Ordnern die Daten reingesichert werden (klappt nicht).
Ich muß irgendwie den folgenden xcopy-Zeilen verklickern, das sie in den %date%-Ordner reinkopieren sollen. Dummerweise weiß ich nicht wie ich das umsetzen soll.
Hat jemand eine Idee oder weiß es einfach, wie ich das realisieren kann?
P.S. ist eine tägliche Sicherung
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185898
Url: https://administrator.de/contentid/185898
Ausgedruckt am: 25.11.2024 um 06:11 Uhr
17 Kommentare
Neuester Kommentar
@skye
... wobei ein "\" am Ende allerdings sehr zu enpfehlen wäre (da damit vorgegeben wird, dass das Ziel ein Verzeichnis ist) ...
Grüße
bastla
... wobei ein "\" am Ende allerdings sehr zu enpfehlen wäre (da damit vorgegeben wird, dass das Ziel ein Verzeichnis ist) ...
Grüße
bastla
Hi,
falls du eine möglichkeit suchst das aktuelle Datum in eine Umgebungsvariable zu schreiben -siehe folgendes Beispiel:
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
Das Ergebnis steht in der Variable %CDATE%
unter umständen musst du bei englisch sprachigen Windows das Trennzeichen ändern (delims)
falls du eine möglichkeit suchst das aktuelle Datum in eine Umgebungsvariable zu schreiben -siehe folgendes Beispiel:
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
Das Ergebnis steht in der Variable %CDATE%
unter umständen musst du bei englisch sprachigen Windows das Trennzeichen ändern (delims)
Hallo bandit76 und willkommen im Forum!
Wo hast Du denn die Zeile ausgegraben? Das letzte Mal, dass vor dem Datum noch der (abgekürzte) Wochentag ausgegeben wurde, war doch unter W2000 ...
Die Schreibweise "JJJJ-MM-TT" wäre sinnvoller und (auch unter W2000 ) eher so zu erreichen:
Grüße
bastla
Wo hast Du denn die Zeile ausgegraben? Das letzte Mal, dass vor dem Datum noch der (abgekürzte) Wochentag ausgegeben wurde, war doch unter W2000 ...
Die Schreibweise "JJJJ-MM-TT" wäre sinnvoller und (auch unter W2000 ) eher so zu erreichen:
set "CDATE=%date:~-4%-%date:~-7,2%-%date:~-10,2%"
bastla
Hallo das.Mordschaf!
Willst Du übrigens tatsächlich "alles in einen Topf werfen" (also alle kopierten Dateien im Ordner "E:\Sicherungen\%date%" sammeln) oder sollen doch auch noch Unterordner für "ort1" und "ort2" verwendet werden? In diesem Fall müsstest Du diese natürlich im Zielpfad mit angeben:
Grüße
bastla
könnte/müßte ich jetzt %date% durch %cdate% erstezen?
Soferne in %cdate% bei Dir der gewünschte Inhalt steht (meine Zweifel und den Alternativvorschlag habe ich oben angemerkt) kannst Du das machen ...Willst Du übrigens tatsächlich "alles in einen Topf werfen" (also alle kopierten Dateien im Ordner "E:\Sicherungen\%date%" sammeln) oder sollen doch auch noch Unterordner für "ort1" und "ort2" verwendet werden? In diesem Fall müsstest Du diese natürlich im Zielpfad mit angeben:
set "Ziel=E:\Sicherungen\%cdate%"
xcopy /e "C:\Programm\ort1" "%Ziel%\ort1\"
xcopy /e "C:\Programm\ort2" "%Ziel%\ort2\"
bastla
Hallo das.Mordschaf!
Ok, Letzteren etwas weiter oben ...
Abgesehen davon würde ich im Zweifelsfall den Zielpfad nur einmal ermitteln und einer Variablen zuweisen (nicht ganz so weit oben ) ...
... und BTW: Wenn Du "
Grüße
bastla
...bestimmt was ganz einfaches, aber ich seh es leider nicht
Um mich mal selbst zu zitieren:Soferne in %cdate% bei Dir der gewünschte Inhalt steht (meine Zweifel und den Alternativvorschlag habe ich oben angemerkt)
Abgesehen davon würde ich im Zweifelsfall den Zielpfad nur einmal ermitteln und einer Variablen zuweisen (nicht ganz so weit oben ) ...
... und BTW: Wenn Du "
/E
" verwendest, brauchst Du kein "/S
" mehr (und der "\" am Ende des Zielpfades macht "/I
" überflüssig).Grüße
bastla
Hallo das.Mordschaf!
Grüße
bastla
P.S.: Aber falls Dir sehr an der "
die Variable wird doch mit
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
ermittelt/erstellt, ja?
Nicht notwendiger Weise - so geht es auch:FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
ermittelt/erstellt, ja?
set "CDATE=%date:~-4%-%date:~-7,2%-%date:~-10,2%"
und den Zielpfad muß ich doch (in diesem Fall) zweimal angeben,
Kannst Du so oft wie Du willst - aber ihn mehrmals "zusammenzubauen" sparst Du Dir mit der Verwendung einer Variablen - ein Beispiel steht (schon länger ) hier ...Grüße
bastla
P.S.: Aber falls Dir sehr an der "
for
"-Variante liegen sollte, dann aber richtig:FOR /F "tokens=1-3 delims=. " %%a in ('date/T') do set "CDATE=%%c-%%b-%%a"