gelöst 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
17 Antworten
- LÖSUNG Skyemugen schreibt am 04.06.2012 um 16:20:17 Uhr
- LÖSUNG bastla schreibt am 04.06.2012 um 16:37:57 Uhr
- LÖSUNG Skyemugen schreibt am 04.06.2012 um 16:44:12 Uhr
- LÖSUNG bastla schreibt am 04.06.2012 um 16:49:37 Uhr
- LÖSUNG Skyemugen schreibt am 04.06.2012 um 16:44:12 Uhr
- LÖSUNG bastla schreibt am 04.06.2012 um 16:37:57 Uhr
- LÖSUNG ITSchlumpf schreibt am 04.06.2012 um 16:20:33 Uhr
- LÖSUNG bandit76 schreibt am 04.06.2012 um 22:16:46 Uhr
- LÖSUNG bastla schreibt am 04.06.2012 um 22:33:23 Uhr
- LÖSUNG bandit76 schreibt am 05.06.2012 um 00:14:25 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 09:24:00 Uhr
- LÖSUNG bandit76 schreibt am 05.06.2012 um 00:14:25 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 09:41:37 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 10:27:18 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 10:37:14 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 11:23:15 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 11:26:15 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 11:36:20 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 12:56:50 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 13:23:37 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 12:56:50 Uhr
- LÖSUNG das.Mordschaf schreibt am 05.06.2012 um 11:36:20 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 11:26:15 Uhr
- LÖSUNG bastla schreibt am 05.06.2012 um 10:27:18 Uhr
- LÖSUNG bastla schreibt am 04.06.2012 um 22:33:23 Uhr
LÖSUNG 04.06.2012 um 16:20 Uhr
Aloha ...
was genau klappt denn nicht? Wie sieht deine Befehlszeile für xcopy denn derzeit aus?
... ich weiß momentan nicht, was daran scheitern sollte, den Zielordner als "C:\Wasweißich\Ordnername_%date%" anzugeben.
greetz André
was genau klappt denn nicht? Wie sieht deine Befehlszeile für xcopy denn derzeit aus?
... ich weiß momentan nicht, was daran scheitern sollte, den Zielordner als "C:\Wasweißich\Ordnername_%date%" anzugeben.
greetz André
LÖSUNG 04.06.2012 um 16:20 Uhr
Hallo Mordschaf,
kannst du vll mal dein bestehendes Skript posten, dann kann man dir vll sagen wo dein Fehler ist.
Gruß
Schlumpf
kannst du vll mal dein bestehendes Skript posten, dann kann man dir vll sagen wo dein Fehler ist.
Gruß
Schlumpf
LÖSUNG 04.06.2012 um 16:37 Uhr
@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
LÖSUNG 04.06.2012 um 16:44 Uhr
Aloha bastla,
da ich die Zeile des TE nicht kenne, ging ich erst einmal davon aus, dass er /I dabei hat.
greetz André
da ich die Zeile des TE nicht kenne, ging ich erst einmal davon aus, dass er /I dabei hat.
greetz André
LÖSUNG 04.06.2012 um 16:49 Uhr
LÖSUNG 04.06.2012 um 22:16 Uhr
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)
LÖSUNG 04.06.2012, aktualisiert um 22:39 Uhr
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
LÖSUNG 05.06.2012 um 00:14 Uhr
ist bei mir im Produktiveinsatz und läuft unter Win7 und Windows 2008R2 Server bestens (und auch unter XP)
aber dein weg funktioniert natürlich auch!
aber dein weg funktioniert natürlich auch!
LÖSUNG 05.06.2012 um 09:24 Uhr
Hallo bandit76!
XP Pro SP3 dt:
Grüße
bastla
XP Pro SP3 dt:
D:\>date /t
05.06.2012
D:\>FOR /F "tokens=1,2,3,4 delims=/. " %a in ('date/T') do set CDATE=%c-%b-%d
D:\>set CDATE=2012-06-
D:\>
bastla
LÖSUNG 05.06.2012, aktualisiert um 09:58 Uhr
also versteh ich das richtig, mit:
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
setze ich nur die Variable fürs Datum, die ich dann nach belieben einsetzen kann?
meine Batch sieht nämlich ungefähr so aus
start
xcopy C:\Programm\ort1 E:\Sicherungen\%date%\/E /S /I
xcopy C:\Programm\ort2 E:\Sicherungen\%date%\/E /S /I
end
könnte/müßte ich jetzt %date% durch %cdate% erstezen?
bitte nicht lachen, wenn ich jetzt totale Grütze geschrieben habe
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
setze ich nur die Variable fürs Datum, die ich dann nach belieben einsetzen kann?
meine Batch sieht nämlich ungefähr so aus
start
xcopy C:\Programm\ort1 E:\Sicherungen\%date%\/E /S /I
xcopy C:\Programm\ort2 E:\Sicherungen\%date%\/E /S /I
end
könnte/müßte ich jetzt %date% durch %cdate% erstezen?
bitte nicht lachen, wenn ich jetzt totale Grütze geschrieben habe
LÖSUNG 05.06.2012, aktualisiert um 13:00 Uhr
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:
01.
set "Ziel=E:\Sicherungen\%cdate%"
02.
xcopy /e "C:\Programm\ort1" "%Ziel%\ort1\"
03.
xcopy /e "C:\Programm\ort2" "%Ziel%\ort2\"
bastla
LÖSUNG 05.06.2012, aktualisiert um 10:56 Uhr
oki doki,
herzlichsten Dank erstmal
ich probier das jetzt mal aus und habe so die Vermutung, das wir uns in nicht allzu ferner Zukunft wiederlesen
herzlichsten Dank erstmal
ich probier das jetzt mal aus und habe so die Vermutung, das wir uns in nicht allzu ferner Zukunft wiederlesen
LÖSUNG 05.06.2012 um 11:23 Uhr
wie angedroht
also meine Batch sieht jetzt folgendermaßen aus
start
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
xcopy C:\test2 C:\test\%cdate%/E /S /I
xcopy C:\test3 C:\test\%cdate%/E /S /I
end
klappt auch alles, bis auf den Ordner der erstellt wird, der heißt "2012-06-" und ich hätte gerne noch den Tag
...bestimmt was ganz einfaches, aber ich seh es leider nicht
also meine Batch sieht jetzt folgendermaßen aus
start
FOR /F "tokens=1,2,3,4 delims=/. " %%a in ('date/T') do set CDATE=%%c-%%b-%%d
xcopy C:\test2 C:\test\%cdate%/E /S /I
xcopy C:\test3 C:\test\%cdate%/E /S /I
end
klappt auch alles, bis auf den Ordner der erstellt wird, der heißt "2012-06-" und ich hätte gerne noch den Tag
...bestimmt was ganz einfaches, aber ich seh es leider nicht
LÖSUNG 05.06.2012, aktualisiert um 11:30 Uhr
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 "/E" verwendest, brauchst Du kein "/S" mehr (und der "\" am Ende des Zielpfades macht "/I" überflüssig).
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
LÖSUNG 05.06.2012 um 11:36 Uhr
ui ui ui....
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?
ja
und den Zielpfad muß ich doch (in diesem Fall) zweimal angeben, damit Batchi auch weiß wohin der ganze Krempel soll.
Wie gesagt er kopiert mir alles rein, genauso wie es sein soll, nur das der erstellte Ordner nicht ordentlich bezeichnet ist (2012-06- statt 2012-06-05).
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?
ja
und den Zielpfad muß ich doch (in diesem Fall) zweimal angeben, damit Batchi auch weiß wohin der ganze Krempel soll.
Wie gesagt er kopiert mir alles rein, genauso wie es sein soll, nur das der erstellte Ordner nicht ordentlich bezeichnet ist (2012-06- statt 2012-06-05).
LÖSUNG 05.06.2012, aktualisiert um 14:32 Uhr
Hallo das.Mordschaf!
Grüße
bastla
P.S.: Aber falls Dir sehr an der "for"-Variante liegen sollte, dann aber richtig:
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"
LÖSUNG 05.06.2012 um 13:23 Uhr
Klasse! Danke,
funktioniert jetzt alles prima, die Sache mit dem Datum.
Besten Dank noch mal an alle,
aber speziell an BASTLA
..bis die Tage
das.Mordschaf
funktioniert jetzt alles prima, die Sache mit dem Datum.
Besten Dank noch mal an alle,
aber speziell an BASTLA
..bis die Tage
das.Mordschaf
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte