use*_*124 9 windows cmd xcopy batch-file
发行:
xcopy X:\ "Y:\...\bin\9876543210\" /c /g /d /i /e /r /h /y
Run Code Online (Sandbox Code Playgroud)
按预期工作.然而:
xcopy X:\ "Y:\...\bin\9876543210\" /c /g /d /i /e /r /h /y /exclude:"Y:\...\exclude.txt"
Run Code Online (Sandbox Code Playgroud)
返回错误:
参数数量无效
当路径名(包含空格)未用引号括起时,也会发生这种情况.然而,事实并非如此.路径(为便于阅读而编辑)都正确对应.语法(根据产品文档 - Xcopy)也是正确的.关于操作系统是Windows XP Professional x32 SP3.
为什么第二个cmd返回错误以及如何解决?我不是在寻找xcopy(robocopy等)的替代品.
dbe*_*ham 12
XCOPY是一个可以追溯到DOS时代的旧命令.看起来/ EXCLUDE选项从未更新以支持长文件名.呃:-(
如果删除引号,则空格后的文本将被解释为附加参数,并且会出现"参数数量无效"错误.如果保留引号,则它会将引号视为路径的一部分,并报告它无法找到该文件.
我相信你有三种可能的解决方案:
1)在路径中使用短8.3文件夹名称.
当然,如果您的卷禁用了短名称,则无法使用此功能.
2)使用SUBST命令为麻烦的路径创建驱动器别名.
subst Q: "Y:\path with spaces"
xcopy X:\ "Y:\...\bin\9876543210\" /c /g /d /i /e /r /h /y /exclude:Q:exclude.txt
subst Q: /d
Run Code Online (Sandbox Code Playgroud)
如果您不知道免费的驱动器号,这可能是一个问题.
3)(我最喜欢的)Simply PUSHD做麻烦的路径并从那里运行命令 :-)
pushd "Y:\path with spaces"
xcopy X:\ "Y:\...\bin\9876543210\" /c /g /d /i /e /r /h /y /exclude:exclude.txt
popd
Run Code Online (Sandbox Code Playgroud)
请参阅https://sevenx7x.wordpress.com/2009/01/02/xcopy-with-exclude-option-shows-cant-read-file/和http://forums.majorgeeks.com/showthread.php?t= 54300获取更多信息.
| 归档时间: |
|
| 查看次数: |
48324 次 |
| 最近记录: |