我想排除所有匹配C:\dir1\*.ext所以我说:
robocopy C:\dir1 C:\dir2 /E /B /MIR /xf C:\dir1\*.ext
根据文件这应该工作:
/xf <FileName>[ ...]
排除与指定名称或path匹配的文件。 请注意,FileName可以包含通配符(*和?)。
但结果是:
错误:无效的参数#16:“xyz”
我如何根据这种模式排除? 排除目录或文件名模式不够具体。
我猜你错过了一个子文件夹,如:
robocopy C:\dir1 C:\dir2 /E /B /MIR /xf C:\dir1\subdir\*.ext
否则,这应该工作:
robocopy C:\dir1 C:\dir2 /E /B /MIR /xf *.ext
根据我的经验, /xf可以使用通配符来表示名称,而不是path。 我不认为这是可能的混合。
作为解决方法,您可以启动两次robocopy :
robocopy C:\dir1 C:\dir2 /E /B /MIR /xd C:\dir1\subdir\ robocopy C:\dir1\subdir C:\dir2\subdir /E /B /MIR /xf *.ext
您可以阅读有关robocopy语法的更多信息:
set _src="C:\dir1" set _dst="C:\dir2" set _option=/E /B /MIR set _xf="C:\dir1\subdir\*.ext" robocopy %_src% %_dst% %_option% %_xf%