[英]How to exclude a file type in XCOPY without passing a file?
我的 C 驱动器中有 5 个 txt 文件,比如说
result_1.0.1.txt
result_1.0.1_tmp1.txt
result_1.0.1_tmp2.txt
result_1.0.1_tmp3.txt
result_1.0.1_tmp4.txt
在任何时候,只有 1 个有效的结果 txt 文件(在本例中为result_1.0.1.txt
)和多个 tmp 文件。 我只想使用通用 XCOPY 命令复制result_1.0.1.txt
。 文件中的版本号每次都可以不同。 早些时候,只有result_<version>.txt
文件曾经存在,所以我的 XCOPY 命令看起来像这样
xcopy /Y "C:\*.txt" result.txt
要排除“tmp”文件,XCOPY 需要一个文件名作为 /EXCLUDE 参数的参数。 取而代之的是,有没有办法传递通配符参数? 像这样的东西-
xcopy /Y "C:\*.txt" /EXCLUDE:"*tmp*" result.txt
根据此处的说明,您需要使用要排除的模式创建一个新文件。 不能使用通配符。
因此,您可以创建一个包含以下内容的文件exclusions.txt
(在不同的目录中):
_tmp
就这样。
然后你可以运行
xcopy /Y "C:\*.txt" /EXCLUDE:exclusions.txt result.txt
您还可以动态生成exclusions.txt
,就像在这个 Super User answer中所做的那样。
或者,如果您的文件名始终采用您所显示的确切格式,您可以完全跳过使用EXCLUDE
,而使用以下内容:
xcopy /Y "C:\*.?.txt" result.txt
?
是一个单字符通配符,因此这将匹配任何以.1.txt
、 .2.txt
等结尾的文件,而您的tmp
文件没有这些文件。 您甚至可以更具体并使用*.?.?.txt
或result*.?.?.txt
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.