58 # 同步删除目录

简介: 58 # 同步删除目录

文件操作api

  1. 删除操作:删除文件 fs.unlinkSync,删除目录 fs.rmdirSync
  2. 提供有关文件的信息:fs.statSync 返回的对象里有 isFile(是否是文件)、isDirectory(是否是文件系统目录)
  3. 读取目录的内容:fs.readdirSync

先看一个例子删除目录里的文件跟文件夹,下面就是删除目录 k 下的文件跟文件夹

const fs = require("fs");
const path = require("path");
let dirs = fs.readdirSync("k");
dirs = dirs.map((item) => path.join("k", item));
console.log("dirs---->", dirs);
dirs.forEach((item) => {
    // 获取文件的状态信息
    let statObj = fs.statSync(item);
    console.log("statObj---->", item, statObj.isFile());
    if (statObj.isFile()) {
        fs.unlinkSync(item);
    } else {
        fs.rmdirSync(item);
    }
});
fs.rmdirSync("k");

下面实现多层级的同步删除,测试目录为 a

const fs = require("fs");
const path = require("path");
function rmdirSync(dir) {
    // 首先需要判断 dir 是否是文件夹
    let statObj = fs.statSync(dir);
    if (statObj.isDirectory()) {
        let dirs = fs.readdirSync(dir);
        console.log("dir---->", dir);
        dirs.forEach((d) => {
            rmdirSync(path.join(dir, d));
        });
        fs.rmdirSync(dir);
    } else {
        fs.unlinkSync(dir);
    }
}
rmdirSync("a");

目录
相关文章
|
6月前
rmdir 删除一个空的目录
rmdir 删除一个空的目录。
39 3
|
6月前
|
C#
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
C# 文件操作(全部) 追加、拷贝、删除、移动文件、创建目录
85 0
|
6月前
|
存储 弹性计算 运维
删除文件
【4月更文挑战第29天】
41 1
重定向,创建文件,删除文件,创建目录,删除目录,cp命令
重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号。
99 0
C#编程-114:文件夹操作之删除
C#编程-114:文件夹操作之删除
103 0
C#编程-114:文件夹操作之删除
|
Linux
如何使用 rmdir 命令删除目录?
rmdir 是您将在开始时学习但很少使用的基本 Linux 命令之一
327 0
如何使用 rmdir 命令删除目录?
C#编程-32:复制移动删除文件或文件夹
C#编程-32:复制移动删除文件或文件夹