3

スペースを含み、Antタスクにはまだ存在しないファイルのリストをロードする方法について、ネット全体を調べました。

次のように、1行に1つのファイルパスを含むファイルがあります。

dir1/dir2/dir with spaces/file1.js
dir1/dir2/dir with spaces/dir3/file2.js
dir1/file1.js

パスにはスペースがあるため、使用できません。

<filelist files="..." />

ファイルもまだ存在しないので使えないようです

<fileset>
    <includesfile name="..." />
</fileset>

どんなアイデアでも大いに評価されるでしょう。

4

1 に答える 1

5

これにはリソースリストを使用できます。たとえば、ファイルのリストが「files.txt」というファイルにある場合:

<resourcelist id="files">
    <file file="files.txt"/>
</resourcelist>

<touch mkdirs="true">
    <resources refid="files" />
</touch>

私にとって、これは次のことをもたらします。

[touch] Creating .../filelist/dir1/dir2/dir with spaces/file1.js
[touch] Creating .../filelist/dir1/dir2/dir with spaces/dir3/file2.js
[touch] Creating .../filelist/dir1/file1.js

これが機能する理由は<resourcelist>、ファイル内の各行が個別のリソースとして読み取られるため、コンマやスペースではなく行区切り文字で項目が分割されるためです。

于 2013-01-25T18:48:27.223 に答える