我想在成功编译项目后将一些文件复制到特定文件夹。我已经写了一个post build事件,如下所述:
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y
注意:我的项目的输出路径已设置为bin文件夹以进行调试,并释放两种模式。
上面提到的构建事件工作正常,bin文件夹下的所有文件都已复制到目标文件夹。但是随着所需的文件,'vshost.exe'文件也被复制,我不想要这个文件。所以,我使用了xcopy build事件的exclude参数,如下所述:
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y /exclude:$(TargetDir)..\..\Support Files\DBUpgradeUtility\*.vshost.exe
使用上面的构建事件,编译失败,错误是:
命令" xcopy" C:\ TFSWorkspace \ FASTER.Web - v6.3.Sprint.06 \源\安装\应用程序\ DBUpgradeUtility \ BIN" " C:\ TFSWorkspace \ FASTER.Web - v6.3.Sprint.06 \来源\安装\应用\ DBUpgradeUtility \ BIN .... \支持 文件\ DBUpgradeUtility \" / Y /exclude:"C:\TFSWorkspace\FASTER.Web - v6.3.Sprint.06 \来源\安装\应用\ DBUpgradeUtility \ BIN .... \支持 文件\ DBUpgradeUtility *。 vshost.exe"退出代码4。
我还使用googled for exclude参数,然后编写上面提到的构建事件。我找不到我在这里失踪的东西或我做错了什么。
请帮我解决这个问题。
谢谢。
答案 0 :(得分:1)
xcopy
命令的commit()
选项的工作方式不同 - 它允许您指定包含排除过滤器的文件:
指定文件列表。必须至少指定一个文件。每 文件将包含搜索字符串,每个字符串位于单独的行中 在文件中。
当任何字符串与绝对的任何部分匹配时 要复制的文件的路径,该文件将被取消 复制。例如,指定字符串
/exclude
或\obj\
将被排除 目录.obj
下的所有文件或obj
的所有文件 扩展
因此,您可以在项目中创建一个新文件(例如.obj
)并添加以下行:
$(ProjectDir)excludes.txt
然后将xcopy命令中的选项更改为:
vshost.exe
这会排除绝对路径中包含/exclude:"$(ProjectDir)excludes.txt"
的所有文件。如果您必须排除其他文件,只需在文件中添加一个新行。