【问题标题】:Robocopy showing invalid parameterRobocopy 显示无效参数
【发布时间】:2015-04-12 15:46:22
【问题描述】:

我正在为我的研究所制作备份程序,但显示 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% 块来运行此代码时,它一切正常。帮助

【问题讨论】:

    标签: batch-file xcopy robocopy


    【解决方案1】:

    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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      相关资源
      最近更新 更多