写Nodejs脚本,遍历文件夹与子文件夹,将没有关键字的文件夹移动到脚本所在的目录
时间: 2024-02-28 10:53:27 浏览: 67
node-move:Node.js脚本将文件从目录移动到另一个目录
好的,我可以帮你解答这个问题。以下是一段可以实现该功能的Node.js脚本代码:
```javascript
const fs = require('fs');
const path = require('path');
const rootPath = process.cwd(); // 获取脚本所在的目录
const keyword = 'example'; // 设置关键字
function traverseDir(dir) {
const files = fs.readdirSync(dir);
for (const file of files) {
const filePath = path.join(dir, file);
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
traverseDir(filePath); // 递归遍历子文件夹
} else if (stat.isFile() && !file.includes(keyword)) {
const newFilePath = path.join(rootPath, file);
fs.renameSync(filePath, newFilePath); // 移动文件到脚本所在的目录
}
}
}
traverseDir(rootPath);
```
上述代码中,我们首先使用`process.cwd()`获取脚本所在的目录,然后设置了一个关键字`keyword`。接着,我们定义了一个`traverseDir`函数,它可以递归遍历指定的文件夹,并对每个文件进行判断,如果是文件夹则继续递归遍历,如果是文件且文件名不包含关键字,则将该文件移动到脚本所在的目录。
最后,我们调用`traverseDir`函数,并将脚本所在的目录作为参数传入,即可实现遍历文件夹与子文件夹,将没有关键字的文件夹移动到脚本所在的目录的功能。
阅读全文