ファイルを削除したり、ディレクトリを削除する方法を紹介します。
1. fs.unlink() でファイルを削除する
1.1 fs.unlink()
fs.unlink(file_path, callback)
は引数として渡された file_path
ファイルを非同期的に(async)削除します。絶対パスではなくファイル名のみを渡す場合は、現在の作業パスの下で相対パスでファイルを見つけます。削除が完了したりエラーが発生した場合は、コールバックが送出されます。
以下のようにファイルを削除できます。
const fs = require('fs')
fs.unlink('example.txt', err => {
if (err) throw err;
console.log('File is deleted.');
});
Output:
File is deleted.
1.2 fs.unlinkSync()
fs.unlinkSync(file)
はファイルを同期的に(sync)削除します。 syncなので callback 引数はなく、エラーが発生すると unlinkSync()
内で発生します。
以下のように同期的にファイルを削除できます。
const fs = require('fs')
fs.unlinkSync('example.txt');
console.log('File is deleted.');
Output:
File is deleted.
2. fs.rmdir() でディレクトリとサブファイルを削除する
2.1 fs.rmdir()
fs.rmdir(dir_path, options, callback)
は空のディレクトリや、ファイルを持っているディレクトリを非同期的に(async)削除します。
- dir_path : 削除するフォルダパス(相対パスまたは絶対パス)
- options : ディレクトリサブファイルも一緒に削除するには
recursive: true
オプションを追加 - callback : ジョブの完了またはエラー発生時に callback 渡される
以下のように、 test
ディレクトリとサブファイルの両方を削除できます。
const fs = require('fs')
fs.rmdir('test', { recursive: true }, (err) => {
if (err) {
console.log(err)
} else {
console.log('Dir is deleted.');
}
});
Output:
Dir is deleted.
もし recursive: true
オプションを除いて rmdir()
を呼び出すとディレクトリファイルだけを削除でき、削除したいディレクトリにファイルがあるときにエラーが発生します。
[Error: ENOTEMPTY: directory not empty, rmdir 'test'] {
errno: -39,
code: 'ENOTEMPTY',
syscall: 'rmdir',
path: 'test'
}
2.2 fs.rmdirSync()
fs.rmdirSync(dir_path, options)
は dir_path
のディレクトリを同期的に(sync)削除します。上記と同様に、ディレクトリ内のすべてのサブファイルも削除するには、 recursive: true
オプションを追加する必要があります。
const fs = require('fs')
fs.rmdirSync('test', { recursive: true, force: true });
console.log('Dir is deleted.');
Output:
Dir is deleted.
Related Posts
- JavaScript - 現在のタイムスタンプを取得する
- Node.js - ファイル、ディレクトリの削除
- JavaScript - 文字列 空白 削除
- JavaScript sort() 関数、例の紹介
- JavaScript Set delete() 関数、値の削除
- JavaScript - 実行時間の測定方法
- JavaScript - 配列をオブジェクトに変換する4つの方法
- JavaScript - Mapの作成と初期化、3つの方法
- JavaScript - Map巡回、3つの方法
- JavaScript - Mapソート(キーまたはvalueでソート)
- JavaScript - オブジェクトに特定の値が存在することを確認する
- JavaScript - 数値がNaNであるかどうかを確認する方法
- JavaScript Enum (列挙型)
- JavaScript - 日付/時刻比較、3つの 方法
- JavaScript - 空の文字列の確認、2つの方法
- JavaScript - 最後の文字を削除する、4つの方法
- JavaScript - 配列を文字列に変換、3つの方法
- JavaScript - 複数行の文字列、3つの方法
- JavaScript - オブジェクトを文字列に変換する2つの方法
- JavaScript - 配列から重複排除、4つの方法
- JavaScript - 文字列の比較方法、5つの方法
- JavaScript - 文字列から数字のみを抽出する
- JavaScript - 配列のソート方法(昇順、降順)
- JavaScript - 文字列 切り出し(split、substr、substring、slice)
- JavaScript - Setを配列(Array)に変換する
- JavaScript - 文字列を配列(Array)に変換
- JavaScript - 関数の宣言方法
- JavaScript - 配列宣言、追加、削除などの基本的 な使用法のクリーンアップ
- JavaScript - 文字列を数値に変換する方法
- JavaScript - 文字列を結合する、接続する(concat、join、+)