You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ant脚本需求:复制包含指定字符串文件的文件夹全部内容

解决Ant脚本复制目标文件所在完整文件夹的需求

原脚本仅能复制包含extends Car的单个JS文件,要实现复制该文件所在整个文件夹的所有内容,我们可以分两步操作:先定位到符合条件的JS文件的父目录,再复制这些目录下的全部内容。

以下是修改后的完整Ant脚本:

<?xml version="1.0" encoding="UTF-8"?>
<project name="sample">
    <property file="build.properties"/>

    <target name="test">
        <!-- 第一步:找到所有包含"extends Car"的JS文件 -->
        <fileset id="targetFiles" dir="${par}">
            <include name="**/*.js"/>
            <contains text="extends Car"/>
        </fileset>

        <!-- 第二步:提取这些文件所在的父目录,去重后保存为路径集合 -->
        <pathconvert property="targetDirs" refid="targetFiles">
            <chainedmapper>
                <!-- 去掉文件名,只保留目录路径 -->
                <flattenmapper negate="true"/>
                <!-- 去重,避免重复处理同一目录 -->
                <uniquemapper/>
            </chainedmapper>
        </pathconvert>

        <!-- 第三步:复制所有目标目录下的内容到指定位置 -->
        <copy todir="unlocked/">
            <fileset dir="${par}">
                <!-- 匹配所有目标目录下的文件及子结构 -->
                <include name="${targetDirs}/**"/>
            </fileset>
        </copy>
    </target>
</project>

关键部分说明:

  • <fileset id="targetFiles">:精准筛选出所有包含extends Car的JS文件,避免匹配无关类型文件。
  • <pathconvert>:将找到的文件路径转换为其父目录路径,通过<uniquemapper>确保每个目录只被处理一次,避免重复复制。
  • 最后的<copy>任务:基于提取出的目录,完整复制这些目录下的所有文件及子目录结构到unlocked/目录。

build.properties文件无需修改,保持原配置即可:

par = src/lwc

内容的提问来源于stack exchange,提问作者Neetesshhr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:27:23