xcopy 在设置排除参数时返回错误"Invalid number of parameters"



发布:

xcopy X: "Y:...bin9876543210" /c /g /d /i /e /r /h /y

如预期工作。但是:

xcopy X: "Y:...bin9876543210" /c /g /d /i /e /r /h /y /exclude:"Y:...exclude.txt"

返回错误:

参数数量无效

当路径名(包含空格(没有用引号括起来时也会发生这种情况。然而,事实并非如此。路径(为了可读性而编辑(都正确对应。语法(根据产品文档-Xcopy(也是正确的。与操作系统相关的是Windows XP Professional x32 SP3。

为什么第二个cmd返回错误,如何解决?我不是在寻找xcopy(robocopy等(的替代品。

XCOPY是一个让人回想起DOS时代的旧命令。看起来/EXCLUDE选项从未更新以支持长文件名。Ugh:-(

如果删除引号,则空格后面的文本将被解释为一个附加参数,并且会出现"参数数无效"错误。如果保留引号,则它会将引号视为路径的一部分,并报告找不到文件。

我相信你有三种可能的解决方案:

1(在路径中使用简短的8.3文件夹名称

当然,如果您的卷禁用了短名称,这是不起作用的。

2(使用SUBST命令为麻烦路径创建驱动器别名

subst Q: "Y:path with spaces"
xcopy X: "Y:...bin9876543210" /c /g /d /i /e /r /h /y /exclude:Q:exclude.txt
subst Q: /d

如果你不知道一个免费的驱动器号,这可能是个问题。

3((我最喜欢的(简单地按下完成麻烦的路径并从那里运行命令:-(

pushd "Y:path with spaces"
xcopy X: "Y:...bin9876543210" /c /g /d /i /e /r /h /y /exclude:exclude.txt
popd



看见https://sevenx7x.wordpress.com/2009/01/02/xcopy-with-exclude-option-shows-cant-read-file/和http://forums.majorgeeks.com/showthread.php?t=54300了解更多信息。

/EXCLUDE:file开关不会排除指定的文件。根据xcopy命令参考:

/exclude:FileName1[+[FileName2][+[FileName3](…)]指定文件。必须至少指定一个文件。每个文件都将包含搜索字符串,每个字符串在文件中的一行上。当任何字符串与要复制的文件的绝对路径,该文件将被排除防止被复制。

我也花了一些时间来纠正这一点(我也有同样的错误(,但最终,这种格式对我有效。与所有DOS一样,绝对精度至关重要,所以可以随意复制和粘贴下面的内容。

xcopy /t /e "C:UsersusernameYour Folder" "C:UsersuserYour Folder"

相关内容

最新更新