我希望在构建过程成功后,使用给定的文件扩展名复制所有文件。
的Robocopy
ROBOCOPY %source% %destination% /S *.as?x *.xls? *.mrt
XCOPY
xcopy .\*.as?x %destination% /SY
xcopy .\*.xls? %destination% /SY
xcopy .\*.mrt %destination% /SY
我试图在visual studio的post build部分中插入两种可能性。 RoboCopy退出时出错:错误1命令" ROBOCOPY源目标/ S * .as?x * .xls? * .mrt"退出代码1。 有些文件被复制但文件夹错误(_PublishedWebsites)。
xcopy也会复制到错误的目录(_PublishedWebsites),也不会复制所有文件。
在命令行中,两个命令都按预期工作。
我更新了我的robocopy命令:
ROBOCOPY $(MSBuildProjectDirectory) $(MSBuildProjectDirectory)\..\..\..\EDP\Web\Modules\Invoice\Web /S *.as?x *.xls? *.mrt
现在文件被复制到正确的位置,但robocopy的返回代码会导致visual studio错误。
这是this的帮助下的解决方案:
call ROBOCOPY $(MSBuildProjectDirectory) $(MSBuildProjectDirectory)\..\..\..\EDP\Web\Modules\Invoice\Web /S *.as?x *.xls? *.mrt
if %errorlevel% leq 1 exit 0 else exit %errorlevel%
<ItemGroup>
<SourceFiles Include="$(MSBuildProjectDirectory)\**\*.js"/>
<SourceFiles Include="$(MSBuildProjectDirectory)\**\*.html"/>
<SourceFiles Include="$(MSBuildProjectDirectory)\**\*.css*"/>
<SourceFiles Include="$(MSBuildProjectDirectory)\**\*.png"/>
<SourceFiles Include="$(MSBuildProjectDirectory)\**\*.as?x"/>
</ItemGroup>
<Target Name="AfterBuild">
<Copy
SourceFiles="@(SourceFiles)"
DestinationFiles="@(SourceFiles->'%(MSBuildProjectDirectory)..\..\..\EDP\Web\Modules\DMS\Web\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</Target>