批处理文件 XCOPY 参数数量无效

批处理文件 XCOPY 参数数量无效

我正在尝试创建一个备份批处理文件,距离我​​上次创建它已经过去了很多年,而且遇到了一些麻烦。

我正在一个位置创建一个文件夹,文件夹名称中包含日期和时间,并从设定的位置复制所有文件夹和文件。

批处理文件创建文件夹没有问题,但在 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

相关内容