构建事件:复制文件夹,一个文件除外

时间:2011-08-09 18:47:09

标签: .net visual-studio

在构建事件中,我需要复制除一个特定文件之外的整个文件夹。有可能吗?

3 个答案:

答案 0 :(得分:4)

XCopy 支持/Exclude标记,可以执行您想要的操作。

来自help xcopy

/EXCLUDE:file1[+file2][+file3]...
  

指定包含字符串的文件列表。每个字符串应位于文件的单独行中。当任何字符串匹配要复制的文件的绝对路径的任何部分时,该文件将被排除在复制之外。例如,指定类似\ obj \或.obj的字符串将排除目录obj下的所有文件或分别具有.obj扩展名的所有文件。

因此,您将创建一个包含要排除的文件列表的文件(每行一个),并在xcopy命令行上指定排除文件。

Robocopy 也有文件排除支持。

来自robocopy /?

/XF file [file]...
  

eXclude匹配给定名称/路径/通配符的文件。

这不需要额外的排除文件。您可以指定模式。

答案 1 :(得分:2)

这可以通过三个简单的步骤完成:

  1. 创建一个文件,即exclude.txt
  2. 添加要排除的文件名
  3. 使用以下命令:xcopy source target /exclude:exclude.txt
  4. 您可以在源代码管理中保留exclude.txt。

    提示:如果目标是目录,请将其附加\*,然后xcopy将其理解为目录而不是文件。

答案 2 :(得分:1)

分2步完成,

首先将整个文件夹复制到新位置

第二个从新创建的文件夹中删除文件