【问题标题】:robocopy invalid parameter "-"robocopy 无效参数“-”
【发布时间】:2015-05-11 15:03:26
【问题描述】:

我正在尝试完成我的批处理脚本,但在某些情况下它会失败。

这是我正在运行的命令:

ROBOCOPY "C:\test\dash2\Hello - 4\" "C:\test\dash2\Hello - 4\..\" /MOV

这是我遇到的错误

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

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

  Started : Mon May 11 01:28:46 2015

   Source - C:\test\dash2\Hello - 4" C:\test\dash2\Hello\
     Dest -

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

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

ERROR : Invalid Parameter #2 : "-"

我确实用双引号括住了我的源和目标。 但根据 ROBOCOPY 日志,source 和 dest 似乎是错误的

编辑

好像认为空格是分隔符,所以把“-”当作第二个参数。

【问题讨论】:

  • 尝试使用单引号

标签: windows batch-file command-line cmd


【解决方案1】:
ROBOCOPY "C:\test\dash2\Hello - 4\" "C:\test\dash2\Hello - 4\..\" /MOV
                                 ^                             ^

删除转义引号的结尾反斜杠

编辑以适应 cmets

如果源和目标是变量,去掉反斜杠是个问题,可以用这个

robocopy "%source%\." "%target%\."

【讨论】:

  • 这似乎也可行,但源和目标是变量,因此删除尾随反斜杠可能比仅仅转义最后一个双引号更有效。
【解决方案2】:

看来您必须转义双引号。 诀窍是只转义第二个双引号

所以正确的解决方案是:

ROBOCOPY "C:\test\dash2\Hello - 4\/" "C:\test\dash2\Hello - 4\..\/" /MOV

【讨论】:

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