代码说明:
watchDir
: 这是你想要监听的文件夹路径。在这个例子中,它是当前脚本所在目录下的watched_folder
文件夹。fs.existsSync
和fs.mkdirSync
: 这些函数用于在脚本运行时检查文件夹是否存在,如果不存在则创建它。fs.watch
: 监听指定目录中的变化。eventType
表示发生的事件类型(例如,rename
表示文件被添加、删除或重命名,change
表示文件内容发生了更改),filename
是发生变化的文件或目录的名称。
运行该脚本后,你可以尝试在 watched_folder
文件夹中添加、删除或更改文件,终端将显示相应的事件信息。
const fs = require('fs'); const path = require('path'); // 监听的文件夹路径 const watchDir = path.join(__dirname, 'watched_folder'); // 检查文件夹是否存在 if (!fs.existsSync(watchDir)) { fs.mkdirSync(watchDir); console.log(`文件夹 ${watchDir} 已创建`); } // 使用 fs.watch 监听文件夹 fs.watch(watchDir, (eventType, filename) => { if (filename) { console.log(`文件名: ${filename}`); console.log(`事件类型: ${eventType}`); if (eventType === 'rename') { if (fs.existsSync(path.join(watchDir, filename))) { console.log(`${filename} 文件已添加或重命名`); } else { console.log(`${filename} 文件已删除`); } } else if (eventType === 'change') { console.log(`${filename} 文件已更改`); } } else { console.log('文件名未提供'); } }); console.log(`正在监听文件夹: ${watchDir}`);