javascript - 如何从目录中删除所有文件而不删除 Node.js 中的目录

标签 javascript node.js

如何使用 Node.js 从目录中删除所有文件而不删除目录本身?
我想删除临时文件。我对文件系统还不太熟悉。

我找到了this方法,它将删除文件和目录。那样的话,像 /path/to/directory/* 这样的东西是行不通的。

我真的不知道应该使用什么命令。感谢您的帮助。

最佳答案

要从目录中删除所有文件,首先需要使用 fs.readdir 列出目录中的所有文件,然后可以使用 fs.unlink 删除每个文件。 fs.readdir 也只会给出文件名,您需要与目录名连接以获得完整路径。如果您的文件夹中有其他文件夹,您需要检查它并改用 fs.rmdir

这是一个例子

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

const directory = "test";

fs.readdir(directory, (err, files) => {
  if (err) throw err;

  for (const file of files) {
    fs.unlink(path.join(directory, file), (err) => {
      if (err) throw err;
    });
  }
});

使用 promise

import fs from "node:fs/promises";
import path from "node:path";

const directory = "test";

for (const file of await fs.readdir(directory)) {
  await fs.unlink(path.join(directory, file));
}

关于javascript - 如何从目录中删除所有文件而不删除 Node.js 中的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27072866/

相关文章:

javascript - 如果不在 JavaScript 中使用 parseFloat,则无法正确添加两个数字

javascript - 如何用jquery改变背景图片

javascript - 如果标签有Class 'error',则展开切换

node.js - GIT:生成的 .bin 符号链接(symbolic link)阻止将 node_modules 添加到存储库

javascript - JQuery:可以访问两个响应的连续 AJAX 调用

javascript - 包装函数只允许一个函数运行 n 次

javascript - 获取一个带有潜台词的图标,然后在同一行上获取一个列表?

node.js - AWS S3 x-amz-meta 错误与非字符串值 : InvalidHeader and InvalidParameterType

javascript - 使用 toJSON() 访问对象的属性

node.js - npm installexpress 仍然无法工作