インターネットとデジタル時代の到来により、ファイルがより頻繁に使用されるようになりました。したがって、ファイルの管理はますます重要になります。役に立たないファイルや期限切れのファイルについては、定期的にクリーンアップしてディスク領域を解放し、システム効率を向上させる必要があります。 Nodejs では、スケジュールされたタスクを使用してファイルを簡単に削除できます。
1. スケジュールされたタスクの概要
Nodejs では、サードパーティ ライブラリ node-schedule
を使用してスケジュールされたタスクを作成できます。 node-schedule
はスケジュールされたタスクを簡単にスケジュールできるライブラリで、指定した時間や間隔でタスクを実行する機能を提供します。
2. node-schedule
を使用してファイルを削除します
まず、node-schedule
ライブラリをインストールする必要があります。次のコマンドを実行できます。ターミナルで:
npm install node-schedule
次に、delete_files.js
などの Node.js ファイルを作成できます。このファイルでは、次のことが可能です:
node-schedule
ライブラリを導入します: const schedule = require('node-schedule');
function deleteFile(filePath) { fs.unlink(filePath, (err) => { if (err) throw err; console.log(`${filePath}删除成功`); }); }
const job = schedule.scheduleJob('0 0 * * *', function() { // 在每天的0点执行删除任务 const filePath = './path/to/file'; // 文件路径 deleteFile(filePath); });
その中で、scheduleJob
関数の最初のパラメータは文字列です。分、時、日付、月、曜日を表す、スペースで区切られた 5 つの時間単位で構成されるタイプの cron 式。
node delete_files.js
3. フォルダー内のすべてのファイルを削除します
フォルダー内のすべてのファイルを削除する必要がある場合は、関数を作成して削除することもできます。以下に示すように:
function deleteFolderFiles(folderPath) { fs.readdir(folderPath, (err, files) => { if (err) throw err; for (const file of files) { const filePath = path.join(folderPath, file); fs.unlink(filePath, (err) => { if (err) throw err; console.log(`${filePath}删除成功`); }); } }); }
スケジュールされたタスクでは、この関数を使用して削除操作を実行できます:
const job = schedule.scheduleJob('0 0 * * *', function() { // 在每天的0点执行删除任务 const folderPath = './path/to/folder'; // 文件夹路径 deleteFolderFiles(folderPath); });
4. 完全なコード実装
次のファイルです。フォルダー内のすべてのファイルを削除するコードの統合例:
const schedule = require('node-schedule'); const fs = require('fs'); const path = require('path'); // 删除单个文件 function deleteFile(filePath) { fs.unlink(filePath, (err) => { if (err) throw err; console.log(`${filePath}删除成功`); }); } // 删除文件夹内所有文件 function deleteFolderFiles(folderPath) { fs.readdir(folderPath, (err, files) => { if (err) throw err; for (const file of files) { const filePath = path.join(folderPath, file); fs.unlink(filePath, (err) => { if (err) throw err; console.log(`${filePath}删除成功`); }); } }); } // 删除单个文件定时任务 const job1 = schedule.scheduleJob('0 0 * * *', function() { // 在每天的0点执行删除任务 const filePath = './path/to/file'; // 文件路径 deleteFile(filePath); }); // 删除文件夹内所有文件定时任务 const job2 = schedule.scheduleJob('0 0 * * *', function() { // 在每天的0点执行删除任务 const folderPath = './path/to/folder'; // 文件夹路径 deleteFolderFiles(folderPath); });
スケジュールされたタスクを通じて、不要なファイルや期限切れのファイルを簡単に削除し、ディスク領域を解放し、システム効率を向上させることができます。同時に、さまざまなニーズに応じてさまざまなスケジュールされたタスクを作成し、システム管理をより洗練することもできます。
以上がnodejs+ ファイルは定期的にファイルを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。