退出时从目录中删除两个文件

时间:2013-10-03 13:36:39

标签: javascript node.js

我想删除退出程序时在目录中生成的所有.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文件,但我也想删除更少的文件

1 个答案:

答案 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);
        }
    });
});