Batch mit xcopy ein Verzeichnis kopieren

>|Sh4d0w|<

Commander
Registriert
Jan. 2009
Beiträge
2.515
Hallo Leute, ich teste gerade einen Batch den ich später mit einem geplanten Task in meinem Fileserver benutzen möchte. Ich möchte mittels xcopy ein Verzeichnis mit seinen Unterordnern auf eine andere Festplatte kopieren.


Und zwar soll er den gesamten Ordner von C:\TEST nach D:\TEST\NEU kopieren.

Mein jetziger Batch sieht so aus:

xcopy c:\TEST D:\TEST\NEU\ /Y /E /S
@exit

Eigentlich war es so geplant dass er nicht einen "NEU" Ordner erstellt, sondern einen Ordner mit dem Namen des Datums, an dem der Batch ausgeführt wird.

Wie füge ich das in den oben stehenden Batch einen RENAME und einen DATE Befehl ein ;)

EDIT:
bin jetzt soweit hier:

xcopy c:\TEST D:\TEST\NEU\ /Y /E /S
RENAME D:\TEST\NEU 20.01.09
@exit


Ich möchte aber das Datum in Abhängigkeit der Systemuhr haben.


MfG
 
Zuletzt bearbeitet:
xcopy c:\TEST "D:\TEST\%DATE%\ /Y /E /S

Edit: Ist übrigens wirklich ein Ding der Unmöglichkeit, sowas mit Hilfe einer Suchmachine zu lösen - das wäre schneller gegangen als den Thread zu schreiben...
 
Zuletzt bearbeitet:
perfekt, danke :), gerade mal 5 Minuten nach meinem Edit gebraucht.

Geht das auch noch mit der Uhrzeit? Sozusagen ein Uhrzeitanhang hinter den Ordner? z. B 20.01.2009 - 18.00

EDIT: Ich habe ja gegoogelt, weil ich wissen wollte wie man den Befehl xcopy ansetzen muss..mit dem Datum habe ich bei googel allerdings nichts gefunden..
 
Zuletzt bearbeitet:
wow :freak:. wusste garnicht dass man im Batch sogar Variablen setzen kann..

Vielen Dank für die Hilfe1668mib.. Der Link hat mir jetzt noch etwas mehr Kreativität gegeben.



EDIT: habe noch eine Frage:

mein anderer Testcode lautet:

@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set stunde=%time:~-11,2%
set minute=%time:~-8,2%
set sekunde=%time:~-5,2%
xcopy C:\recordings D:\TEST\%tag%.%monat%.%jahr%-%stunde%-%minute%-%sekunde%\ /Y /E /S
if errorlevel 1 goto error
goto ende
:error
echo Das kopieren ist fehlgeschlagen
:ende

der geht ja einwandfrei...

aber sobald ich diesen teste dann geht er nicht:

@echo off
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set stunde=%time:~-11,2%
set minute=%time:~-8,2%
set sekunde=%time:~-5,2%
xcopy C:\Dokumente und Einstellungen\Alexander D:\TEST\%tag%.%monat%.%jahr%-%stunde%-%minute%-%sekunde%\ /Y /E /S
if errorlevel 1 goto error
goto ende
:error
echo Das kopieren ist fehlgeschlagen
:ende


woran liegt das? habe jetzt schon x-mal verschiedene Varianten ausprobiert..Alle gehen nicht :(


EDIT die 2te. Habe es jetzt selber gelöst...
 
Zuletzt bearbeitet:
Hi, besser Du nimmst RoboCopy.

Das kann u.a. unterbrochene Kopiervorgaenge an der Stelle fortsetzen an der Unterbrochen wurde. ;)

Bei Vista ist es dabei, fuer 2003/XP kann es nachinstalliert werden.
 
@shadow. Schau mal in die xcopy-Zeile.
In deinem ersten Beispiel kopierst du einen Ordner der keine Leerzeichen enthält.
Beim zweiten Beispiel hat der Ordner Leerzeichen. Du mußt ihn also in Anführungszeichen setzen, sonst findet xcopy den Pfad nicht.

Konkret:
Zeile
xcopy C:\Dokumente und Einstellungen\Alexander D:\TEST\%tag%.%monat%.%jahr%-%stunde%-%minute%-%sekunde%\ /Y /E /S
muß geändert werden in
xcopy "C:\Dokumente und Einstellungen\Alexander" D:\TEST\%tag%.%monat%.%jahr%-%stunde%-%minute%-%sekunde%\ /Y /E /S
 
Zurück
Oben