我正在尝试创建一个备份批处理文件,距离我上次创建它已经过去了很多年,而且遇到了一些麻烦。
我正在一个位置创建一个文件夹,文件夹名称中包含日期和时间,并从设定的位置复制所有文件夹和文件。
批处理文件创建文件夹没有问题,但在 XCOPY 上出现“参数数目无效”。
该文件的现状如下:
@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
我甚至尝试过在 XCOPY 上不使用任何参数,但仍然遇到同样的问题。
我希望有人能帮助我。
答案1
解决方法如下
@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