读取某个文件夹下的所有文件路径
/** * fileDisplay(url, callback) * @param url: 即将读取的文件夹路径 * @param callback: 回调函数 */ const fs = require('fs'); const path = require('path'); const args = require('minimist')(process.argv.slice(2)); const arr = []; let timer = null; const fileDisplay = (url, cb) => { const filePath = path.resolve(url); //根据文件路径读取文件,返回文件列表 fs.readdir(filePath, (err, files) => { if (err) return console.error('Error:(spec)', err); files.forEach(filename => { //获取当前文件的绝对路径 const filedir = path.join(filePath, filename); // fs.stat(path)执行后,会将stats类的实例返回给其回调函数。 fs.stat(filedir, (eror, stats) => { if (eror) return console.error('Error:(spec)', err); // 是否是文件 const isFile = stats.isFile(); // 是否是文件夹 const isDir = stats.isDirectory(); if (isFile) { // 处理了多余的绝对路径 arr.push(filedir.replace(path.resolve(__dirname, '../'), '').replace(/\\/gim, '/')); if (timer) clearTimeout(timer); timer = setTimeout(() => cb && cb(arr), 200); } // 如果是文件夹 且排除依赖包 if (isDir && !('node_modules' === filename)) fileDisplay(filedir, cb); }); }); }); }; fileDisplay(path.resolve(__dirname, `../webapp/${args.name}`), arr => { fs.writeFileSync(path.resolve(__dirname, './commitApps.txt'), JSON.stringify(arr)); fs.writeFileSync(path.resolve(__dirname, './sorceprojectName.txt'), args.name); }); fs.readdir(path.resolve(__dirname, `../webapp`), (err, files) => { if (err) return console.error('Error:(spec)', err); fs.writeFileSync(path.resolve(__dirname, './nameDisablelist.txt'), JSON.stringify(files)); });
js 脚本 可以npm 执行script
苦心人,天不负
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2020-10-19 HTML iframe, 获取iframe子页面中的元素(基于JavaScript)