我正在尝试删除目录,所以我写了一个代码
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))