Help us understand the problem. What is going on with this article?

Node.jsで配下ファイルを含めフォルダを削除

More than 5 years have passed since last update.

Node.jsでフォルダのみを削除したい場合、fs.rmdir(またはfs.rmdirSync)を使用する。

Node.js v0.4.12 Manual & Documentation」を見ると配下ファイルを含めてフォルダを削除する関数はなさそうだった(見逃してるだけかもしれません)。

なので、以下の3ステップで配下ファイルを含めてフォルダを削除する。

  1. fs.readdirSyncで該当のフォルダ内のファイル名を取得
  2. for in文 で削除したいフォルダにあるファイル(1で取得したものに削除するファルダパスを足したもの)を、fs.unlinkSyncを使用して削除
  3. 最後にrmdirSyncを使用して該当のフォルダを削除

※fs.unlinkはファイルを削除する場合に使用する関数
※Syncがつくものは同期的に処理される

removeDirectory.js
var fs  = require('fs');


// targetRemoveDirectoryPathに消したいディレクトリを指定
// まずは消したいフォルダの配下ファイルを削除
var targetRemoveFiles = fs.readdirSync(targetRemoveDirectoryPath);
for (var file in targetRemoveFiles) {
  fs.unlinkSync(targetRemoveDirectoryPath + targetRemoveFiles[file]);
}

// 消したいフォルダを削除
fs.rmdirSync(targetRmDirPath);

ただし、これだと配下のファイル、フォルダを含めて再帰的に削除できないので、コマンドでいうrm -rfを実現できる手段が分かる人がいたら教えて下さい。

twipg
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away