10

Antを使用して、特定のフォルダのすべてのサブフォルダのコンテンツをコピーするにはどうすればよいですか?

つまり、私はそのようなフォルダ構造を持っています

folder/
folder/sub1/1.txt
folder/sub1/f1/1.txt
folder/sub2/2.txt
...

サブフォルダの正確な名前はわかりません。そして、それらすべてからコンテンツを1つのフォルダーにコピーする必要があります(コンテンツの構造を維持する、つまり、flattenを使用してすべてのファイルを1つのディレクトリにコピーすることは解決策ではありません)。私は取得する必要があります

newfolder/1.txt
newfolder/1/1.txt
newfolder/2.txt
...

ファイルセットでは、そのような方法でサブフォルダーをグループ化できますか? **は0個以上のディレクトリを表し、*ディレクトリ名としての使用は許可されていません。つまり、<fileset dir="${dir}/*/" />受け入れられません。

よろしくお願いします、ユーリー

4

1 に答える 1

11
<copy toDir="newfolder">
  <fileset dir="folder">
    <include name="*/**"/>
    <exclude name="*"/>
  </fileset>
  <regexpmapper from="^[^/]*/(.*)$$" to="\1" handledirsep="true"/>
</copy>

handledirsepこのスクリプトをWindowsで実行する予定があるかどうかを指定するだけで済みます。

于 2010-08-06T21:36:35.083 に答える