0

Ant を使用して単一のファイル index.html をディレクトリのすべてのサブディレクトリにコピーするスクリプトを作成するにはどうすればよいですか。

すべてのサブディレクトリに index.html をコピーする Ant スクリプトを作成しようとしています。ファイルが特定のサブディレクトリに存在する場合、ファイルを置き換える必要があります。

私の初期構造:

Directory A
   Sub-Directory AA
       file1
       file2
       ...
   Sub-Directory AB
       file1
       file2
       index.html
       ...
      Sub-Directory ABA
          file1
          file2
          ...
    ....

私はこれを達成したい:

Directory A
   Sub-Directory AA
       file1
       file2
       index.html  <- file copied
       ...
   Sub-Directory AB
       file1
       file2
       index.html  <- file replaced
       ...
      Sub-Directory ABA
          file1
          file2
          index.html  <- file copied
          ...
    ....

前もって感謝します。よろしく。

4

1 に答える 1

0

次の例では、groovy ANT タスクを使用しています。

├── build.xml
├── lib
│   └── groovy-all-2.1.6.jar
├── src
│   └── index.html
└── target
    └── DirectoryA
        ├── index.html
        ├── SubdirectoryAA
        │   └── index.html
        └── SubdirectoryAB
            ├── index.html
            └── SubdirectoryABA
                └── index.html

build.xml

<project name="demo" default="copy">

   <path id="build.path">
      <pathelement location="lib/groovy-all-2.1.6.jar"/>
   </path>

   <target name="copy">
      <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>

      <dirset id="trgDirs" dir="target/DirectoryA"/>

      <groovy>
         project.references.trgDirs.each {
            ant.copy(file:"src/index.html", todir:it, overwrite:true, verbose:true)
         }
      </groovy>
   </target>

</project>

ノート:

  • groovy スクリプトは、ANT dirset に含まれるディレクトリをループできます。
  • Groovy は通常の ANT タスクにアクセスできます。コピー操作の「上書き」フラグに注意してください。
于 2013-08-16T23:01:31.793 に答える