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

Node.js递归复制多文件夹下特定扩展名(如.pes)文件至目标文件夹

问题描述

我有一个包含约112000个项目的文件夹,里面有多层子文件夹,需要复制子文件夹中特定扩展名(如.pes)的文件。我已经能递归获取目标文件的路径数组,但不知道如何将这些文件复制到另一文件夹,寻求帮助。

解决方案

我已经解决了这个问题,以下是实现方案:

copy-files-recursive

这个程序可以帮助从嵌套文件夹结构(比如PICS文件夹)中复制指定文件。

技术栈

基于Node.js的JavaScript编写,用到以下模块:

  • fs-extra
  • path
  • recursive-readdir

工作原理

  1. 遍历目标文件夹及所有子文件夹获取文件路径;
  2. 使用recursive-readdir模块实现递归读取目录;
  3. 通过filter()方法筛选出.pes扩展名的文件;
  4. 使用fs.copyFileSync()方法将筛选后的文件复制到目标文件夹(比如PES文件夹)。

代码示例

const recursive = require("recursive-readdir");
const fs = require('fs-extra')
const path = require('path')

recursive("./PICS", function (err, files) {
  // `files` 是文件路径组成的数组
  const filteredFiles = files.filter((file) => file.includes('.pes'))
  
  for (const fn of filteredFiles) {
    fs.copyFileSync(fn, path.join('./PES', path.basename(fn))); 
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 22:25:10