FS节点删除除与名称匹配的文件外的所有文件

yah*_*rga 8 fs node.js

我需要删除目录中除我指定名称的文件之外的所有文件。比方说:

fs.unlink('./all except specialfile.txt', (err)) => {
    if (err) throw err;
    console.log('file deleted!');
}
Run Code Online (Sandbox Code Playgroud)

Jan*_*ith 13

您必须获取目录中的所有文件,然后比较名称,如果文件名与您的文件不匹配,则删除该文件

const fs = require('fs');
const path = require('path');

fs.readdir('./', (err, files) => {
    if (err) {
        console.log(err);
    }

    files.forEach(file => {
        const fileDir = path.join('./', file);

        if (file !== 'specialfile.txt') {
            fs.unlinkSync(fileDir);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)