使用javascript/node js删除多个带有前缀的文件夹



我正在尝试删除目录,所以我写了一个代码

const path= require("path"),
const fs= require("fs");
let dir= path.join(process.cwd(),"tested folders");
if(fs.existsSync(dir)){
fs.rmSync(dir, { recursive: true, force: true });
}

它正在帮助我删除所需的目录但现在我正试图删除多个目录,因为我想删除所有以_testFolder_开头的文件,因为有多个文件的前缀是

所以我做了一个数组,然后像这个一样传递值

let dir=[path.join(process.cwd(),"tested folders"),path.join(process.cwd(),"_testFolder_*")]
if(fs.existsSync(dir)){
fs.rmSync(dir, { recursive: true, force: true });
}

尝试删除多个文件夹,但它甚至不允许我删除我的第一个文件夹,我如何删除以前缀_testFolder_tested folder开头的多个文件夹?

这里是代码,您可以删除的所有文件夹

注意:-这里的命令是针对Linux的另一个操作系统,您可以将其替换为

const { exec } = require('child_process');
const path = require("path")
let dir = [path.join(process.cwd(), "tested folders"), path.join(process.cwd(), "_testFolder_*")]
// linux command rm -rf
exec(`rm -rf "${dir.join('" "')}"`);

**选择子进程是因为它减少了代码并加快了

使用Node js

let fs = require('fs')
// your dir array should be (simple regex)
let regex = [/tested folders/, /_testFolder_/]
let scanDir = process.cwd()
fs.readdirSync(scanDir)
.filter(f => regex.filter(r => r.test(f)).length)
.map(f => fs.rmdirSync(scanDir + "/" + f))

相关内容

  • 没有找到相关文章

最新更新