node.jsの覚書です。
node.jsのfs.unlinkでファイル削除する
サンプルです。
const fs = require('fs');
// 削除したいファイルのパス
const fileToDelete = './example.txt';
// ファイルを削除
fs.unlink(fileToDelete, (err) => {
if (err) {
console.error('ファイルの削除中にエラーが発生しました:', err);
return;
}
console.log(`${fileToDelete} が正常に削除されました。`);
});
fs.unlinkは単独で使用することもできますが、fs.readdirやfiles.forEachと組み合わせて使われることが多いです。特定のディレクトリ内の複数のファイルを処理する必要がある場合に便利です。
const fs = require('fs');
const path = require('path');
// クリーンアップしたいディレクトリのパス
const directoryPath = './example_directory';
// 特定の拡張子を持つファイルを削除する関数
function cleanupDirectory(dir) {
fs.readdir(dir, (err, files) => {
if (err) {
console.error('ディレクトリの読み取り中にエラーが発生しました:', err);
return;
}
files.forEach(file => {
const filePath = path.join(dir, file);
// ファイルの拡張子を取得
const extension = path.extname(file);
// 例: .tmpファイルを削除
if (extension === '.tmp') {
fs.unlink(filePath, (err) => {
if (err) {
console.error(`${file}の削除中にエラーが発生しました:`, err);
} else {
console.log(`${file}を削除しました。`);
}
});
}
});
});
}
// 関数を実行
cleanupDirectory(directoryPath);
リファレンス
fs.unlinkSync(path)について
fs.unlinkSync(path)という命令もあります。
ただ、Node.jsのコア哲学は非同期プログラミングにあります。可能な限り非同期メソッドを使用することが、Node.jsコミュニティで広く推奨されています。非同期操作は、Promiseやasync/awaitと組み合わせて使用することができ、より読みやすく管理しやすいコードを書くことができます
ご参考になれば幸いです。
コメント