Robocopy显示无效参数

时间:2015-04-11 07:56:40

标签: batch-file xcopy robocopy

我正在为我的学院制作备份程序,但是显示了robocopy副本

  Started : 11 April 2015 01:21:07 PM
   Source - F:\Training\HPES\CoreJava\
     Dest - F:\11-04-2015\

    Files :
  Options : /DCOPY:DA /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

ERROR : Invalid Parameter #3 : "\0121PM"

       Simple Usage :: ROBOCOPY source destination /MIR

             source :: Source Directory (drive:\path or \\server\share\path).
        destination :: Destination Dir  (drive:\path or \\server\share\path).
               /MIR :: Mirror a complete directory tree.

    For more usage information run ROBOCOPY /?

我的代码

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a

for /f "tokens=1,2,3 delims=: " %%A in ('TIME /T') do set mytime=%%A%%B%%C
pause
mkdir %datestr%
cd %datestr%
mkdir %mytime%
cd %mytime%

pause
robocopy F:\Training\HPES\CoreJava F:\%datestr%\%mytime%  /e
pause

它显示无效的参数错误但是当我通过删除源部分中的%mytime%块来运行此代码时,它可以正常工作。帮助

1 个答案:

答案 0 :(得分:0)

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a

date /t在其输出的末尾包含一个空格,并且此空间包含在datestr变量中以及使用该变量执行的最终命令中。因此F:\%datestr%\%mytime%包含一个空格(位于%datestr%的末尾,将一个参数转换为两个。

如果您想保留空格,请使用引号:"F:\%datestr%\%mytime%"

如果您不想保留空间,请查看输出,您可以更改为

for /f %%a in ("%date%") do set "datestr=%%a"