node读取服务器端指定目录文件并生成JSON文件目录

140 阅读1分钟

如何统计指定目录文件夹指定文件类型的个数以及文件名称,并列出文件名呢?

image.png 上图中的文件会动态更新删减,所以人工一个个统计基本不可能。就好像数一碗正在被吃的米饭有多少粒一样,还没统计完已经吃了一口或又加了一勺;只能通过程序读取目录遍历。本文将采用Node实现。

本文将通过nodejs 读取服务端文件 轻松实现 20240605_161448.gif 打开生成的JSON文件放到在线json工具

image.png image.png 新建目录node 新建node/package.json

{
  "name": "nodexlsx",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "node-xlsx": "^0.23.0"
  }
}

下面我们一起动手实现上面的读取服务器文件的代码:

新建 node/getpdf.js

const path = require('path')
const fs = require('fs')

let dirName = 'H:/YG-demo/node-read-dir-tojson/pdfdemo/pdfData/BPA0530'

let datas = []

fs.readdir(dirName, function (err, files) {
    if (err) {
        console.log('err1:' + err)
        return
    }
    if (files && files.length) {
        files.forEach((item) => {
            fs.readdir(dirName + '/' + item, function (e, f) {
                if (e) {
                    console.log('e1:' + e)
                    return
                }
                if (f && f.length) {
                    let d = []
                    f.forEach((i) => {
                        if (/.pdf$/i.test(i)) {
                            d.push(i)
                        }
                    })
                    datas.push({
                        dirName: item,
                        dirFile: d
                    })
                }

            })
        })
    }

})
setTimeout(() => {
    fs.writeFile(`yg.json`, JSON.stringify(datas), res => {
        console.log('写入成功',datas)
    })
}, 3000)

打开终端或CMD

执行 npm install 安装依赖

执行 node getpdf.js 在根目录会生成yg.json

这样就统计出指定服务器目录下 文件名称并一一列出 源码下载

Over结束!