【问题标题】:Ant: copy folder and then delete only the files copiedAnt:复制文件夹,然后只删除复制的文件
【发布时间】:2013-10-29 18:44:27
【问题描述】:

我需要一个构建脚本才能将一个文件夹及其所有嵌套文件和文件夹复制到另一个文件夹。目标文件夹已包含自己的文件和文件夹,其嵌套文件夹结构可以与源文件夹重叠。执行了一些命令后,我只需要删除复制的文件。

例子:

src_folder
  subfolder1
    file1

dest_folder
  subfolder1
    file2
    file3

这里我只需要删除dest_folder/subfolder1/file1

有没有办法用 Ant 做到这一点?如果没有,您能否推荐一个替代的构建工具来实现这一点?

实现类似结果的一种方法是备份dest_folder,但它有很多文件,复制它需要很长时间。

【问题讨论】:

    标签: ant copy build-automation


    【解决方案1】:

    示例

    项目文件

    ├── build.xml
    ├── dest_folder
    │   └── subfolder1
    │       ├── file2
    │       └── file3
    └── src_folder
        └── subfolder1
            └── file1
    

    构建输出

    $ ant
    Buildfile: build.xml
    
    copy-files:
         [copy] Copying 1 file to dest_folder
         [copy] Copying src_folder/subfolder1/file1 to dest_folder/subfolder1/file1
    
    run-cmd-on-files-in-dest-folder:
        [apply] dest_folder/subfolder1/file1
    
    clean-files:
       [delete] Deleting dest_folder/subfolder1/file1
    

    build.xml

    <project name="demo" default="run">
    
       <target name="run" depends="copy-files,run-cmd-on-files-in-dest-folder,clean-files"/>
    
       <target name="copy-files">
          <copy todir="dest_folder" verbose="true">
             <fileset dir="src_folder"/>
          </copy>
       </target>
    
       <target name="run-cmd-on-files-in-dest-folder">
          <apply executable="echo">
             <srcfile/>
             <fileset dir="dest_folder">
                <present present="both" targetdir="src_folder"/>
             </fileset>
          </apply>
       </target>
    
       <target name="clean-files">
          <delete verbose="true">
             <fileset dir="dest_folder">
                <present present="both" targetdir="src_folder"/>
             </fileset>
          </delete>
       </target>
    
    </project>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 2012-03-14
      • 2018-05-04
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多