带有变量名称和空格的XCOPY文件夹

时间:2015-10-29 13:49:06

标签: batch-file

我想创建一个批处理,删除某些文件夹中的文件,然后从另一个目标(另一个服务器)将它们复制回来。其中一些文件夹将具有变量名称,因为它们是根据月份和年份命名的。例如,其中一个目的地包含名称如下的文件夹:-01 2015年1月,2015年2月-02,2015年3月3日等。我已设法使删除过程正常工作,但是当它的时间到了复制我得到这个错误:

xcopy无法识别为内部或外部命令,可运行程序或批处理文件。

以下是代码:

    echo off
    for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
    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 "YY=%dt:~2,2%"

    if %MM%==01 set Month=January
    if %MM%==02 set Month=February
    if %MM%==03 set Month=March
    if %MM%==04 set Month=April
    if %MM%==05 set Month=May
    if %MM%==06 set Month=June
    if %MM%==07 set Month=July
    if %MM%==08 set Month=August
    if %MM%==09 set Month=September
    if %MM%==10 set Month=October
    if %MM%==11 set Month=November
    if %MM%==12 set Month=December


    set path=-%MM% %Month% 20%YY%

    del /f/s/q "P:\WX\%path%\Today"

    xcopy "F:\WX\%path%\Today" . "P:\WX\%path%\Today" /s/e/y

1 个答案:

答案 0 :(得分:0)

我认为这是由于set path=-%MM% %Month% 20%YY%

PATH是一个环境变量,它包含从随机位置开始可能需要的所有命令的位置,因此建议永远不要修改此变量。只需将其替换为path2,您就会遇到另一个问题: - )

相关问题