写一个nodejs脚本文件,遍历js文件所在的子目录,如果文件夹中有一个后缀为mobi的文件,一个后缀为azw3的文件,一个后缀为epub的文件,就将这个文件夹移动到"F:\百度网盘资源\何博传教授传\电子书"
时间: 2024-02-26 07:59:01 浏览: 138
PHP实现遍历某一目录下的所有文件并将特定后缀文件复制到特定目录
5星 · 资源好评率100%
好的,我可以为您提供一个nodejs脚本文件来实现您的需求。请注意,这个脚本文件需要安装nodejs和fs模块。
以下是脚本文件的代码:
```javascript
const fs = require('fs');
const path = require('path');
const dirPath = 'your_target_directory_path'; // 需要遍历的目录路径
const targetPath = 'F:/百度网盘资源/何博传教授传/电子书'; // 目标文件夹路径
// 遍历目录
fs.readdir(dirPath, (err, files) => {
if (err) throw err;
files.forEach(file => {
const filePath = path.join(dirPath, file);
// 判断是否为文件夹
fs.stat(filePath, (err, stats) => {
if (err) throw err;
if (stats.isDirectory()) {
let mobiFlag = false;
let azw3Flag = false;
let epubFlag = false;
// 遍历子目录
fs.readdir(filePath, (err, subFiles) => {
if (err) throw err;
subFiles.forEach(subFile => {
const subFilePath = path.join(filePath, subFile);
const ext = path.extname(subFilePath);
if (ext === '.mobi') {
mobiFlag = true;
} else if (ext === '.azw3') {
azw3Flag = true;
} else if (ext === '.epub') {
epubFlag = true;
}
});
// 如果符合条件,则移动文件夹
if (mobiFlag && azw3Flag && epubFlag) {
const targetDir = path.join(targetPath, file);
fs.rename(filePath, targetDir, (err) => {
if (err) throw err;
console.log(`Moved ${filePath} to ${targetDir}`);
});
}
});
}
});
});
});
```
请将 `your_target_directory_path` 替换为您需要遍历的目录路径,然后在命令行中使用 `node` 命令运行脚本文件即可。
阅读全文