【发布时间】:2011-10-04 22:58:23
【问题描述】:
我的要求是编写一个批处理脚本来比较两个文件夹中的文件。如果 SourceFolder 和 TargetFolder 中都存在文件,则使用 SourceFolder 中的文件覆盖 TargetFolder 中的文件。
使用 for 语句和 if 语句我可以做到这一点:
for /R %Source% %%G in (Prefix.*.ext) do (
if exist %Target%%%~nxG (
del %%G
copy %Target%%%~nxG %Source%
)
)
虽然附加要求是仅复制以“前缀”开头的文件。并以“.ext”结尾,并排除所有包含“排除”一词的文件。
英文:复制源文件夹中以“Prefix.”开头、以“.ext”结尾、不包含“exclude”文本的所有文件。并且已经存在于目标文件夹中。
这就是我卡住的地方。有谁知道如何批量执行此操作?
【问题讨论】:
-
看看我对这个问题的解决方案。我认为您可能可以采用相同的方法。 stackoverflow.com/questions/7651406/…
-
@CareyGregory:我看了你对另一个问题的回答,但我看不出它有什么帮助。如果假设一个文件不包含多个“.”,它可能会有所帮助。
-
我相信凯莉正在回答您的问题。本质上,您需要在要包含的文件上循环使用
FOR并检查IF条件以过滤掉要排除的文件。也许您应该尝试一下,然后再提出一个更详细的问题,说明什么不适合您。
标签: batch-file copy iteration