如何使用 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/