2

与えられたファイルセット

<fileset id="myFiles" dir=".">
    <include name="**/*.file"/>
</fileset>

セット内の各ファイルに、ファイル名から拡張子を除いた名前のサブディレクトリを作成するにはどうすればよいですか?

たとえば、folderA/X.file と folderA/folderB/Y.file というファイルがある場合、folderA/X と folderA/folderB/Y というディレクトリを作成したいと考えています。

4

3 に答える 3

3

ant touchタスクは、ファイル、親dir、およびファイル名マッピングの作成をサポートしているため、これを実現するために使用できます。

  <target name="mkdirs">
    <touch mkdirs="true">
      <fileset dir="the_dir"/>
      <mapper type="glob" from="*.file" to="the_dir/*/.tmp" />
    </touch>
    <delete>
      <fileset dir="the_dir" includes="**/.tmp"/>
    </delete>
  </target>

これにより、ターゲットdirに一時ファイルが作成され(存在しない場合はdirが作成されます)、必要なdirが残っている一時ファイルが削除されます。

于 2009-06-22T16:04:51.450 に答える
1

ファイルリストを反復処理するためにタスクに使用します。しかし、拡張機能を削除してディレクトリを作成するために使用できるAntのサブストリングタイプのユーティリティは見つかりませんでした。このユーティリティを検索してください。そこにない場合は、それを行うためにAntタスクを実装する必要があります。

于 2009-02-11T12:25:23.317 に答える