我想删除退出程序时在目录中生成的所有.csv文件,所有名称少,less的文件都没有扩展名,只有一个名为less的文件出现在目录中。我的程序工作,它删除所有.csv文件,但我无法删除出现的较少的文件。这就是我的尝试:
var fs = require("fs"),
path = require("path");
function getUserHome() {
return process.env[(process.platform==='win32')?'USERPROFILE':'HOME']+path.sep;
}
process.on('exit', function() {
fs.readdirSync(getUserHome() + ".ssh/project").forEach(function(fileName) {
console.log(fileName);
if (path.extname(fileName) === ".csv") {
fs.unlinkSync(fileName);
}
});
});
这将删除所有.csv文件。
我希望它也删除较少的文件,所以我尝试了
var fs = require("fs"),
path = require("path");
function getUserHome() {
return process.env[(process.platform==='win32')?'USERPROFILE':'HOME']+path.sep;
}
process.on('exit', function() {
fs.readdirSync(getUserHome() + ".ssh/project").forEach(function(fileName) {
console.log(fileName);
if (path.extname(fileName) === ".csv" || path.extname(fileName) === "less" ) {
fs.unlinkSync(fileName);
}
});
});
这没用,所以我也尝试了
var fs = require("fs"),
path = require("path");
function getUserHome() {
return process.env[(process.platform==='win32')?'USERPROFILE':'HOME']+path.sep;
}
process.on('exit', function() {
fs.readdirSync(getUserHome() + ".ssh/project").forEach(function(fileName) {
console.log(fileName);
if (path.extname(fileName) === ".csv") {
fs.unlinkSync(fileName);
}
if (path.extname(fileName) === "less") {
fs.unlinkSync(fileName);
}
});
});
这也行不通,在这两种情况下他们只删除所有的.csv文件,但我也想删除更少的文件
答案 0 :(得分:0)
您似乎忘了将dirpath
添加到filename
。当您使用.
文件名检查文件时,您也忘了添加less
。
这应该有效
var fs = require("fs"),
path = require("path");
function getUserHome() {
return process.env[(process.platform==='win32')?'USERPROFILE':'HOME']+path.sep;
}
process.on('exit', function() {
fs.readdirSync(getUserHome() + ".ssh/project").forEach(function(fileName) {
console.log(fileName);
if (path.extname(fileName) === ".csv" || fileName === "less" ) {
// prepend path to file name
fs.unlinkSync(getUserHome() + ".ssh/project/" + fileName);
}
});
});