2017-11-23 4 views
0

Test_ULという名前のフォルダがTest_file_UL.exeTest_file_UL.isoTest_file_UL.txtのようなファイルが含まれています。お越しのファイルのMSBuild

は私がTest_file_UL.txt除く、Test.zipTest_file_UL.exeTest_file_UL.isoファイルを圧縮する必要があります。

MSBuildを使用してこれを行うにはどうすればよいですか?

答えて

0

これは、必要な項目のItemGroupを作成し、その項目グループをpowershellコマンドレットに渡すことで実行できます。 item groupsため

<ItemGroup> 
    <ZipFiles Include="Test_UL\Test_file_UL.exe" /> 
    <ZipFiles Include="Test_UL\Test_file_UL.iso" /> 
</ItemGroup> 

すべての通常の規則が適用されますので、あなたはあなたが必要とするフィルタリングを何でも行うことができます。

その後、ファイルを圧縮するためのPowerShellを起動します。

<Target Name="CreateZip"> 
    <Exec Command="PowerShell -NoProfile -Command Compress-Archive @(ZipFiles->'%(Identity)', ',') -DestinationPath $(ZipName)" /> 
</Target> 
  • Compress-Archive以降のPowerShell 5で利用可能なPowerShellコマンドレットです。
  • @(ZipFiles - > '%(Identity)'、 '、')はMSBuild Transform、 で、カンマ区切りのリストに変更されます。

また、zip/compressターゲットを追加するMSBuild拡張機能もありますが、PowerShellをすぐに呼び出す方が簡単です。

関連する問題