Problem mit xcopy
Möchte ein Verzeichnis auf eine Externe Festplatte kopieren, schlägt aber fehl.
Guten Morgen und einen schönen Advent!
Seid geraumer Zeit habe ich eine Externe Festplatte. Nun möchte ich, dass darauf meine Daten gesichert werden. Um das nicht jedesmal von Hand kopieren zu müssen, dachte ich mir, dass ich eine batch Datei schreibe, die das für mich übernimmt. Doch mit folgendem funktioniert das nicht so ganz:
Wenn ich das ausführe bekomme ich den Fehler: "Ungültiger Pfad
0Datei(en) kopiert"
Ich dachte, dass ich mit %USERPROFILE% in das Verzeichnis von Vista gehe, was zu meinem Benutzer gehört. Dort habe ich ein Verzeichnis (Ordner) test erstellt, in dem eine txt Datei ist.
Das Verzeichnis test im userprofile sollte dann auf meine Externefestplatte (f) in den Ordner Sicherung kopiert werden. Bzw. es sollte in dem Ordner Sicherung ein Ordner mit dem Datum und der Zeit erstellt werden.
Doch leider klappt das nicht. Kann mir jemand sagen, wo mein Fehler liegt?
Desweiteren möchte ich später gerne verschiedene Ordner/Verzeichnisse angeben, die in das Ziel kopiert werden sollen. Kann man das kombinieren oder muss ich jedesmal die gleiche Zeile wieder schreiben um es so einzeln zu kopieren?
Schonmal vielen Dank für eure Hilfe!
Gruß Muckel / Tobias
Guten Morgen und einen schönen Advent!
Seid geraumer Zeit habe ich eine Externe Festplatte. Nun möchte ich, dass darauf meine Daten gesichert werden. Um das nicht jedesmal von Hand kopieren zu müssen, dachte ich mir, dass ich eine batch Datei schreibe, die das für mich übernimmt. Doch mit folgendem funktioniert das nicht so ganz:
@echo off
echo Willkommen zur Datensicherung!
echo Mit diesem kleinen Script führst Du eine Datensicherung durch. Es werden die eingestellten Verzeichnisse auf Dein externes Speichermedium kopiert.
pause
xcopy "c:\%USERPROFILE%\test\" "f:\sicher~1\%date%-%time%" /D /E /Y /I
pause
Wenn ich das ausführe bekomme ich den Fehler: "Ungültiger Pfad
0Datei(en) kopiert"
Ich dachte, dass ich mit %USERPROFILE% in das Verzeichnis von Vista gehe, was zu meinem Benutzer gehört. Dort habe ich ein Verzeichnis (Ordner) test erstellt, in dem eine txt Datei ist.
Das Verzeichnis test im userprofile sollte dann auf meine Externefestplatte (f) in den Ordner Sicherung kopiert werden. Bzw. es sollte in dem Ordner Sicherung ein Ordner mit dem Datum und der Zeit erstellt werden.
Doch leider klappt das nicht. Kann mir jemand sagen, wo mein Fehler liegt?
Desweiteren möchte ich später gerne verschiedene Ordner/Verzeichnisse angeben, die in das Ziel kopiert werden sollen. Kann man das kombinieren oder muss ich jedesmal die gleiche Zeile wieder schreiben um es so einzeln zu kopieren?
Schonmal vielen Dank für eure Hilfe!
Gruß Muckel / Tobias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104034
Url: https://administrator.de/contentid/104034
Ausgedruckt am: 05.11.2024 um 20:11 Uhr
8 Kommentare
Neuester Kommentar
%userprofile% ist eine vari für den angemeldeten benutzer.
also
xcopy "c:\dokumente und einstellungen\test\*.*" f:\sicherung\%date%-%time%
oder:
set homepath="c:\dokumente und einstellungen"
xcopy %homepath%\test\*.* f:\sicherung\%date%-%time%\
aber mit den date und time wird es nicht so ganz klappen glaube ich, sind ja sonderzeichen in der uhrzeitsausgabeausgabe
aber warum nimmst du dafür nicht robocopy, gibts es kostenlos bei m$ in download bereich
also
xcopy "c:\dokumente und einstellungen\test\*.*" f:\sicherung\%date%-%time%
oder:
set homepath="c:\dokumente und einstellungen"
xcopy %homepath%\test\*.* f:\sicherung\%date%-%time%\
aber mit den date und time wird es nicht so ganz klappen glaube ich, sind ja sonderzeichen in der uhrzeitsausgabeausgabe
aber warum nimmst du dafür nicht robocopy, gibts es kostenlos bei m$ in download bereich
Hallo Muckel1986!
Falls Du dennoch die Uhrzeit dabei haben wolltest, könntest Du etwa so vorgehen (und vielleicht auch noch ein besser sortierbares Datumsformat verwenden):
Noch ein Hinweis zu "robocopy /MIR": Damit werden im Sicherungsordner Dateien, die im Quellordner nicht mehr vorhanden sind, ebenfalls gelöscht - ein ev nicht unbedingt erwünschtes Verhalten ...
Grüße
bastla
Ist nur komisch, dass es dort mit %USERPROFILE% klappt und bei xcopy nicht.
Worauf education schon hingewiesen hat: Das Problem war "%time%", da Du dafür folgendes Format erhältst: "10:49:09,79" - damit würde auch "robocopy" nicht zurechtkommen.Falls Du dennoch die Uhrzeit dabei haben wolltest, könntest Du etwa so vorgehen (und vielleicht auch noch ein besser sortierbares Datumsformat verwenden):
set Zeit=%time:~,8%
set Zeit=%Zeit::=%
set Datum=%date:~-4%-%date:~-7,2%-%date:~-10,2%
Grüße
bastla
Hallo Muckel1986!
Du könntest allerdings eine Schleife der Art
verwenden, um die Liste der zu sichernden Ordner in einer eigenen Datei (Inhalt: je Zeile ein Ordnerpfad) pflegen zu können.
Grüße
bastla
Kann ich da alle meine Variablen reinbauen oder muss ich für jedes ein eigene Befehlszeile aufbauen?
Eher letzteres, da Du mehrere Ordner nur ausschließen (/XD) kannst.Du könntest allerdings eine Schleife der Art
for /f "delims=" %%i in (F:\Robocopy_Include.txt) do robocopy "%%i" "F:\Sicherung\%date%" /MIR /LOG+:F:\Sicherung\log-%date%.txt
Grüße
bastla