如何按指定文件夹内文件存在状态显示项目并通过按钮控制文件增删
实现方案
仅适用于 Node.js / Electron 环境,浏览器端 JavaScript 受沙箱安全限制无法直接读写本地文件系统
依赖引入
使用 Node.js 内置模块即可,无需安装第三方依赖:
const fs = require('fs') const path = require('path')
路径配置
优先适配 %AppData% 系统路径,回退到你指定的C盘备选路径:
// 路径配置,自动适配环境 const appDataPath = process.env.APPDATA || 'C:/CVN All Access' const targetDir = path.join(appDataPath, 'watchlist') const targetFile = path.join(targetDir, 'testing.dat')
核心功能实现
红色表情按钮点击触发:创建文件
function handleRedBtnClick() { // 文件夹不存在则自动创建,支持多级目录一次性生成 if (!fs.existsSync(targetDir)) fs.mkdirSync(targetDir, { recursive: true }) // 创建空testing.dat文件,文件已存在时会直接覆盖 fs.writeFileSync(targetFile, '') }
绿色表情按钮点击触发:删除文件
function handleGreenBtnClick() { // 文件存在才执行删除,避免抛出异常 if (fs.existsSync(targetFile)) fs.unlinkSync(targetFile) }
按钮事件绑定示例
假设你的按钮DOM元素ID为 statusBtn,直接绑定点击事件即可:
const statusBtn = document.getElementById('statusBtn') statusBtn.addEventListener('click', () => { // 可根据你实际的按钮表情内容调整判断条件 const btnContent = statusBtn.textContent.trim() if (btnContent === '🔴') handleRedBtnClick() if (btnContent === '🟢') handleGreenBtnClick() })
内容的提问来源于stack exchange,提问作者Gilby1385
相关产品推荐
相关产品推荐

