Batch file 生成后事件xcopy-排除某些文件集
我想在项目成功编译后将一些文件复制到特定文件夹。我已经编写了一个构建后事件,如下所述:Batch file 生成后事件xcopy-排除某些文件集,batch-file,xcopy,post-build-event,build-events,Batch File,Xcopy,Post Build Event,Build Events,我想在项目成功编译后将一些文件复制到特定文件夹。我已经编写了一个构建后事件,如下所述: xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y /exclude:$(TargetDir)..\..\Support Files\DBUp
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y /exclude:$(TargetDir)..\..\Support Files\DBUpgradeUtility\*.vshost.exe
注意:我的项目的输出路径已设置为bin文件夹,用于调试和释放这两种模式
上述生成事件工作正常,bin文件夹下的所有文件都已复制到目标文件夹。但是除了所需的文件之外,“vshost.exe”文件也被复制了,我不想要这个文件。因此,我使用了xcopy build event的exclude参数,如下所述:
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y
xcopy "$(ProjectDir)bin" "$(TargetDir)..\..\Support Files\DBUpgradeUtility\" /Y /exclude:$(TargetDir)..\..\Support Files\DBUpgradeUtility\*.vshost.exe
对于上述生成事件,编译失败,错误为:
命令“xcopy”C:\TFSWorkspace\FASTER.Web-
v6.3.Sprint.06\Source\Installer\Application\DBUpgradeUtility\bin“
“C:\TFSWorkspace\FASTER.Web-
v6.3.Sprint.06\Source\Installer\Application\DBUpgradeUtility\bin….\Support
Files\DBUpgradeUtility\“/Y/exclude:“C:\TFSWorkspace\FASTER.Web-
v6.3.Sprint.06\Source\Installer\Application\DBUpgradeUtility\bin….\Support
文件\DBUpgradeUtility*。vshost.exe“已退出,代码为4
我还搜索了exclude参数,然后编写了上面提到的构建事件。我找不到我在这里缺少什么或我做错了什么
请帮我做这个
谢谢。命令的
/exclude
选项的工作方式不同-它允许您指定包含排除筛选器的文件:
指定文件列表。必须至少指定一个文件。每个
文件将包含搜索字符串,每个字符串位于单独的一行
在文件中
当任何字符串与绝对值的任何部分匹配时
要复制的文件的路径,该文件将被删除
已复制。例如,指定字符串,\obj\
或.obj
将排除
目录下的所有文件obj
或带有的所有文件.obj
分机
因此,您可以在项目中创建一个新文件(例如$(ProjectDir)excludes.txt
)并添加此行:
vshost.exe
然后将xcopy命令中的选项更改为:
/exclude:"$(ProjectDir)excludes.txt"
这将排除绝对路径中包含vshost.exe
的所有文件。如果必须排除其他文件,只需在文件中添加新行即可