Ich versuche, eine Batch-Sicherungsdatei zu erstellen. Das letzte Mal ist mehrere Jahre her und ich habe ein paar Probleme.
Ich erstelle an einem Ort einen Ordner mit Datum und Uhrzeit im Ordnernamen und kopiere alle Ordner und Dateien von einem festgelegten Ort.
Die Batchdatei erstellt den Ordner problemlos, zeigt beim XCOPY jedoch die Meldung „Ungültige Anzahl an Parametern“ an.
Die Datei sieht wie folgt aus:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=Backup %DD%.%MM%.%YYYY% %HH%-%min%-%Sec%
set direc="f:\main accounts management\sagecompaniesbackup\%stamp%"
md %direc%
set fold="%direc%"
XCOPY "e:\SageCompanies\" %fold% /c/e/k/y
Ich habe es sogar ohne einen der Parameter in XCOPY versucht, aber das Problem besteht immer noch.
Ich hoffe, dass mir da draußen jemand helfen kann.
Antwort1
Hier ist die Lösung
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set datestamp=%dt:~0,8%
set timestamp=%dt:~8,6%
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set stamp=Backup %DD%.%MM%.%YYYY% %HH%-%min%-%Sec%
set direc="f:\main accounts management\sagecompaniesbackup\%stamp%"
md %direc%
::Removed Double Quotes
set fold=%direc%
::Added Wildcard to fix invalid params
XCOPY "e:\SageCompanies\*" %fold% /c/e/k/y