3.5k Aufrufe
Gefragt in SW-Sonstige von
Hallo zusammen und "ein gutes Neues"!

Ich arbeite mit Windows XP und Vista. Ich möchte eine .bat-Datei für die Datensicherung erstellen, welche von der Quelle mehrere Ordner/Dateien auf das Sicherungslaufwerk kopiert, siehe unten.
Leider kommen Fehlermeldungen wie:

- Ungültige Parameteranzahl
- Ungültiger Pfad
- Ungültige Parameteranzahl

Hier mein Code:

@ECHO OFF
CLS
REM ------------------------------------------------------------
REM Name: SAVE.BAT REM Autor: Juerg2
REM Datum: 3. Januar 2011
REM ------------------------------------------------------------
ECHO Die Datensicherung der gewählten Ordner wird gestartet...
ECHO. MD G:\Save_2011\
ECHO.
XCOPY C:\Desktop\In Arbeit\ G:\Save_2011\In Arbeit\ /Y /E /I /C /H /R /D
ECHO.
XCOPY C:\Benutzer\Jürg\Favoriten\ G:\Save_2011\Favoriten\ /Y /E /I /C /H /R /D
ECHO.
XCOPY D:\Eigene Vorlagen\ G:\Save_2011\Eigene Vorlagen\ /Y /E /I /C /H /R /D
ECHO.
ECHO Die Datensicherung wurde abgeschlossen ...
PAUSE
REM -------------------------- E O F ---------------------------

Wo liegt der/die Fehler? Ich bin mit meinem Latein am Ende.......
Vielen Dank für eure Hilfe zum Voraus!

Gruss Juerg2

13 Antworten

0 Punkte
Beantwortet von scip Experte (1.2k Punkte)
Du musst Pfade die Leerzeichen enthalten in Anführungszeichen setzen
0 Punkte
Beantwortet von theblackbird_ Mitglied (605 Punkte)
Moin,

Ohne es gestest oder die Schalter geprueft zu haben: Pfade mit Leerzeichen in Anfuehrungszeichen setzen.

z.B.
XCOPY "D:\Eigene Vorlagen\" "G:\Save_2011\Eigene Vorlagen\" /Y /E /I /C /H /R /D


Cu TheBlackBird ®
0 Punkte
Beantwortet von xmax Experte (4.1k Punkte)
Hi,

versuche erst mal mit weniger Optionen, also nur dass die Daten rüber geschoben werden.
Benutze bei cmd
xcopy /?
ich vermute, da wird dir sofort auffallen, dass bei der /D was fehlt.
Ach ja, hier unter Tipps kann man schon fertige Lösungen zum Backup finden.
Gehe den Weg zu Fuß, also das Sichern per Hand, dabei schaue wie sich die entsprechenden Optionen verhalten.

mfg xmax
0 Punkte
Beantwortet von
Die Tipps mit den Leerzeichen haben geholfen, aber das Problem ist noch nicht gelöst. Auch die Parameter hinten habe ich reduziert.

Jetzt erscheint 3 Mal die Fehlermeldung "Ungültiger Pfad".
0 Punkte
Beantwortet von scip Experte (1.2k Punkte)
Oh, stimmt du solltest noch ein *.* anfügen an die Quell-Pfade
Ausserdem stimmt glaube ich dein 2ter Kopieraufruf nicht

Ändere mal:

XCOPY C:\Benutzer\Jürg\Favoriten\*.* G:\Save_2011\Favoriten\

In:

XCOPY "%username%\favorites\*.*" G:\Save_2011\Favoriten\

zzgl der Parameter
0 Punkte
Beantwortet von
Die 1. und 2. Zeile funktionieren noch nicht = Datei *.* nicht gefunden.

Die 3. Zeile läuft wie gewünscht.
0 Punkte
Beantwortet von scip Experte (1.2k Punkte)
Poste bitte nochmal den aktuellen Stand deiner Batch.
0 Punkte
Beantwortet von
Hier das Gewünschte:

ECHO.
XCOPY "C:\Desktop\In Arbeit\*.*" "G:\Save_2011\In Arbeit\" /Y /E /I /C /H /R /D
ECHO.
XCOPY "%username%\favorites\*.*" G:\Save_2011\Favoriten\ /Y /E /I /C /H /R /D
ECHO.
XCOPY "D:\Eigene Vorlagen\*.*" "G:\Save_2011\Eigene Vorlagen\" /Y /E /I /C /H /R /D
ECHO.
ECHO Die Datensicherung wurde abgeschlossen ...
PAUSE
0 Punkte
Beantwortet von scip Experte (1.2k Punkte)
Ok,

hier die Berichtigungen:

ECHO.
XCOPY "%userprofile%\Desktop\In Arbeit\*.*" "G:\Save_2011\In Arbeit\" /Y /E /I /C /H /R /D
ECHO.
XCOPY "%userprofile%\favorites\*.*" G:\Save_2011\Favoriten\ /Y /E /I /C /H /R /D
ECHO.
XCOPY "D:\Eigene Vorlagen\*.*" "G:\Save_2011\Eigene Vorlagen\" /Y /E /I /C /H /R /D
ECHO.
ECHO Die Datensicherung wurde abgeschlossen ...
PAUSE
0 Punkte
Beantwortet von scip Experte (1.2k Punkte)
Gna, eigentlich wollt ich noch ne Erklärung drunter schreiben ...

%username% war mein Fehler, muss natürlich %userprofile% heissen.
c:\desktop gibt es auch nicht, der befindet sich auch im Userordner.

Nun sollte es hinhauen.
...