使用node移动文件目录
文件目录下面有图片和压缩包,我想把图片都移动到一个图片目录下面,以下是代码,希望对你有所帮助```js
const fs = require('fs');
const path = require('path');
const sourceDir = 'E:\\BaiduNetdiskDownload\\html模板网页版\\单页\\单页';
const imageDir = 'E:\\BaiduNetdiskDownload\\html模板网页版\\单页\\单页\\图片';
fs.readdir(sourceDir, (err, files) => {
if (err) {
console.error('Error reading directory:', err);
return;
}
files.forEach(file => {
// Node.js中的path模块的join方法,将源目录路径sourceDir和文件名file拼接成完整的文件路径filePath
const filePath = path.join(sourceDir, file);
fs.stat(filePath, (err, stats) => {
if (err) {
console.error('Error stating file:', err);
return;
}
if (stats.isFile() && ['.jpg', '.jpeg', '.png', '.gif'].includes(path.extname(file).toLowerCase())) {
const destFilePath = path.join(imageDir, file);
// Node.js中的fs模块的rename方法,将源文件filePath移动到目标文件路径destFilePath
fs.rename(filePath, destFilePath, err => {
if (err) {
console.error('Error moving file:', err);
} else {
console.log(`Moved ${file} to ${imageDir}`);
}
});
}
});
});
});
``` 嵌套地狱 王一之 发表于 2024-3-20 11:46
嵌套地狱
同fs自带的同步函数就不会嵌套了
就是不知道会不会有啥问题 好像不能设置timeout steven026 发表于 2024-3-20 15:41
同fs自带的同步函数就不会嵌套了
就是不知道会不会有啥问题 好像不能设置timeout ...
fs的同步函数会阻塞线程,会影响其它操作
页:
[1]