Javascript 如果文件为30天或更长时间,是否从文件系统中删除文件?
我想删除超过30天的文件,因此每次调用Javascript 如果文件为30天或更长时间,是否从文件系统中删除文件?,javascript,node.js,fs,Javascript,Node.js,Fs,我想删除超过30天的文件,因此每次调用readDirectory时,我都想检查并删除超过30天的文件 所以下面的代码并没有删除这个文件,你知道什么是错误的还是更好的想法 service.js var fs = require('fs'); var path = require('path'); var async = require('async'); var currentDate = new Date(); function readDirectory(callback) { va
readDirectory
时,我都想检查并删除超过30天的文件
所以下面的代码并没有删除这个文件,你知道什么是错误的还是更好的想法
service.js
var fs = require('fs');
var path = require('path');
var async = require('async');
var currentDate = new Date();
function readDirectory(callback) {
var dirPath = './logs/dit';
var files = fs.readdirSync(dirPath);
var objToReturn = [];
//this will get you list of all files. in directory
async.eachSeries(files, function(file, callback) {
var filePath = path.join(dirPath, file);
var fileInfo = {};
fs.stat(filePath, function(err, stats) {
fileInfo.fileDate = stats.birthtime;
//write stats data into objToReturn
/*fs.readdir(dirPath, function(err, items) {*/
fileInfo.filename = file;
compareDates(fileInfo);
/* });*/
objToReturn.push(fileInfo);
callback();
});
}, function(err) {
//final callback when all files completed here send objToReturn to client
callback(objToReturn);
});
}
function compareDates(file) {
var timeDiff = Math.abs(currentDate.getTime() - file.fileDate.getTime());
var dayDifference = Math.ceil(timeDiff / (1000 * 3600 * 24));
console.log('Days difference in Dates', dayDifference);
// return dayDifference;
if (dayDifference == 1) {
fs.unlink('.logs/dit' + file.filename, function(err) {
if (err) {
// file doens't exist
console.info("File doesn't exist, won't remove it.");
} else {
console.log('removed file', file);
}
});
}
}
您缺少一个
/
此处fs.unlink('.logs/dit…
确定这是实现此任务的最佳方法吗?