繁体   English   中英

如何在不传递文件的情况下在 XCOPY 中排除文件类型?

[英]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文件没有这些文件。 您甚至可以更具体并使用*.?.?.txtresult*.?.?.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM