首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

列出所有包含.js文件的目录,并将目录及其内容复制到一个新文件夹中

要列出所有包含.js文件的目录,并将目录及其内容复制到一个新文件夹中,可以使用以下步骤:

  1. 遍历指定目录下的所有文件和文件夹。
  2. 对于每个文件夹,递归调用步骤1。
  3. 对于每个文件,检查文件扩展名是否为.js。
  4. 如果是.js文件,则将其所在的目录路径记录下来。
  5. 创建一个新的文件夹,用于存放复制后的目录及其内容。
  6. 将记录下来的目录路径及其内容复制到新文件夹中。

以下是一个示例的Node.js代码实现:

代码语言:txt
复制
const fs = require('fs');
const path = require('path');
const { promisify } = require('util');

const readdir = promisify(fs.readdir);
const stat = promisify(fs.stat);
const mkdir = promisify(fs.mkdir);
const copyFile = promisify(fs.copyFile);

async function copyDirectoriesWithJSFiles(sourceDir, targetDir) {
  const files = await readdir(sourceDir);

  for (const file of files) {
    const filePath = path.join(sourceDir, file);
    const fileStat = await stat(filePath);

    if (fileStat.isDirectory()) {
      const targetSubDir = path.join(targetDir, file);
      await mkdir(targetSubDir);
      await copyDirectoriesWithJSFiles(filePath, targetSubDir);
    } else if (fileStat.isFile() && path.extname(file) === '.js') {
      const targetFile = path.join(targetDir, file);
      await copyFile(filePath, targetFile);
    }
  }
}

// 指定源目录和目标目录
const sourceDir = '/path/to/source/directory';
const targetDir = '/path/to/target/directory';

// 创建目标目录
fs.mkdirSync(targetDir);

// 复制包含.js文件的目录及其内容到目标目录
copyDirectoriesWithJSFiles(sourceDir, targetDir)
  .then(() => {
    console.log('复制完成!');
  })
  .catch((error) => {
    console.error('复制过程中出错:', error);
  });

请注意,以上代码仅为示例,需要根据实际情况进行适当修改和调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券