1

マクロ定義を使用して、一連のファイルを別の場所や FTP サーバーにコピーしています。しかし、コピーがかなり遅いように見えるので、7z を使用してバンドルを圧縮し、すべてを 1 つのファイルとして FTP にコピーしたいと考えています。7zでできますか?私の amcrodef は次のとおりです。

<macrodef name="copyimages">
  <attribute name="todir"/>
  <sequential>
    <copy todir="@{todir}" overwrite="true" failonerror="false">
      <fileset dir="${build.output.dir}">
                  <include name="logs/*${build.id}*armv5*scan2.html"/>
                  <include name="logs/*${build.id}*main.ant.log"/>
        <include name="logs/*${build.id}*bom.xml"/>
        <include name="logs/compile/*${build.id}*.*"/>
        <include name="logs/cone/*${build.id}*.*"/>
        <include name="logs/post/*${build.id}*.*"/>
        <include name="logs/roms/*${build.id}*.*"/>
        <include name="**/*${build.id}_codescanner/**"/>
      </fileset>
    </copy>
  </sequential>
</macrodef>


<copyimages todir="${publish.ssdoci.dir}/${env.version}.${build.number}"/>
4

5 に答える 5

1

7zip のタスクはありません。<zip> はパスワードでアーカイブできません。したがって、私の解決策は

<target name="zip" depends="dist">
    <exec executable="C:\Program Files\7-Zip\7z.exe">
        <arg value="a" />                         <!--archive-->
        <arg value="-pMyPasswordt" />             <!-- password -->
        <arg value="-r" />                        <!-- recursiv -->
        <arg value="C:\temp\2012-06-29\${programName}.zip" />  <!-- destination -->
        <arg value="${jarFile}" />                <!-- files to archive -->
    </exec>
</target>
于 2012-06-29T07:40:40.353 に答える
1

にこだわらない場合は、 Zip Task7zを使用できます。

代わりにこのようなことを試すことができ<copy></copyます...

<zip destfile ="@{destfile}">
  <fileset dir="${build.output.dir}">
    <include name="logs/*${build.id}*armv5*scan2.html"/>
    <include name="logs/*${build.id}*main.ant.log"/>
    <include name="logs/*${build.id}*bom.xml"/>
    <include name="logs/compile/*${build.id}*.*"/>
    <include name="logs/cone/*${build.id}*.*"/>
    <include name="logs/post/*${build.id}*.*"/>
    <include name="logs/roms/*${build.id}*.*"/>
    <include name="**/*${build.id}_codescanner/**"/>
  </fileset>
</zip>

<copyimages destfile="${publish.ssdoci.file}-${env.version}.${build.number}"/>
于 2011-01-19T09:53:21.450 に答える
0

「exec」で7z.exeを使用するのが最良のオプションだと思います。

構文は次のとおりです。

C:\ Program Files \ 7-Zip> 7z.exe a -t7z c:\ temp \ test.7z c:\ temp * .txt

*このコマンドは、c:\tempからのすべての.txtファイルをアーカイブ"test.7z"に配置します

乾杯!

于 2011-01-20T08:22:11.263 に答える
0

http://www.pharmasoft.be/7z/で利用可能な 7z アリ タスクがあります。

ただし、テストはしていませんが、サイトはすでに少し古くなっているようです.

于 2012-10-23T08:33:48.310 に答える