我有一个包含大量* .xml文件的文件夹。
我需要在单独的zip文件中压缩所有这些文件。
实施例: - file1.xml - file2.xml - file3.xml
msbuild之后: - file1.zip - file2.zip - file3.zip
请注意,我不需要压缩一个ZIP中的所有文件,并且文件夹中的.xml文件数量每次都会有所不同。
无论如何使用自动msbuild任务执行此操作?
提前致谢。
答案 0 :(得分:3)
使用Zip task中的MSBuild Extension Pack。然后您的MSBuild目标可以是:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="ZipFiles">
<UsingTask TaskName="MSBuild.ExtensionPack.Compression.Zip"
AssemblyFile="..\MSBuildExtensionPack\Releases\4.0.4.0\MSBuild.ExtensionPack.dll" />
<Target Name="ZipFiles">
<ItemGroup>
<FilesToZip Include="xmls\**\*.xml"/>
</ItemGroup>
<Message Text="Zipping '%(FilesToZip.Identity)'" Importance="high" />
<MSBuild.ExtensionPack.Compression.Zip TaskAction="Create"
CompressFiles="%(FilesToZip.FullPath)"
ZipFileName="%(FilesToZip.Filename).zip"
RemoveRoot="%(FilesToZip.RootDir)%(FilesToZip.Directory)" />
</Target>
</Project>