要列出所有包含.js文件的目录,并将目录及其内容复制到一个新文件夹中,可以使用以下步骤:
以下是一个示例的Node.js代码实现:
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);
});
请注意,以上代码仅为示例,需要根据实际情况进行适当修改和调整。
领取专属 10元无门槛券
手把手带您无忧上云