![](/img/trans.png)
[英]How to create an exclude file entry for xcopy that matches the extension of a file name?
[英]XCOPY - How to exclude a certain file name?
这是我当前的 xcopy 命令:
xcopy C:\SourceCodeOld\Release\"Source Code"\*.vb C:\SourceCodeNew\"Source Code"\ /S /Y /R
在几个子文件夹中,我有一个名为“AssemblyInfo.vb”的文件。 我怎样才能排除它被复制?
xcopy
有一个/EXCLUDE
选项,它允许指定(路径)一个包含部分文件路径/名称的文本文件,每行一个(另请注意固定引号):
xcopy /S /Y /R /I /EXCLUDE:exclude.txt "C:\SourceCodeOld\Release\Source Code\*.vb" "C:\SourceCodeNew\Source Code"
exclude.txt
位于当前工作目录中并包含:
AssemblyInfo.vb
但是, /EXCLUDE
选项的实现很糟糕,因为实际上所有文件都被排除在外,其绝对源路径包含任何position 处的任何给定字符串(以不区分大小写的方式)。 此外,您甚至不能在这些字符串中使用通配符。 此外,您不能为排除文本文件提供带引号的路径来保护潜在的空格或特殊字符。 (另请参阅我的this related answer 。)
强烈推荐使用robocopy
命令,它的排除选项比较成熟:
robocopy "C:\SourceCodeOld\Release\Source Code" "C:\SourceCodeNew\Source Code" "*.vb" /S /XF "AssemblyInfo.vb"
这实际上只排除了名称为AssemblyInfo.vb
的文件。
创建一个文件excludes.txt
并将要排除的文件添加到其中(每个都在一个新行中)
AssemblyInfo.vb
anotherfile.vb
然后使用指向包含要排除的文件的文件的/EXCLUDE
参数运行xcopy
命令:
xcopy "C:\SourceCodeOld\Release\Source Code\*.vb" "C:\SourceCodeNew\Source Code\" /EXCLUDE:excludes.txt /S /Y /R
要查看可用于/EXCLUDE
参数的各种选项,请运行xcopy /?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.