zoukankan      html  css  js  c++  java
  • NodeJs 生成指定目录中的所有子目录的 txt 格式的报告文档

    源码:

    // 文件路径:folder-report.js
    /**
     * NodeJs 生成指定目录中的所有子目录的 txt 格式的报告文档
     * 功能:生成指定目录中的所有子目录的 txt 格式的报告文档
     * 使用:node folder-report.js
     * 扩展包:无
     */
    
    // 引用 fs 文件系统模块
    const NmFs = require('fs');
    // 引用 path 路径处理模块
    const NmPath = require('path');
    
    
    /**
     * 生成文件报告指定目录
     * @param {String} fromDir 来源目录
     */
    async function reportDirs(fromDir) {
        let filesData = [];
        if (!NmFs.existsSync(fromDir)) {
            console.log('path not exists: ', fromDir);
            return filesData;
        }
        // 自动补齐路径符
        const SEP = NmPath.sep;
        if (!fromDir.endsWith(SEP)) {
            fromDir += SEP;
        }
        // 打开目录
        const dir = await NmFs.promises.opendir(fromDir);
        // 声明变量,优化内存
        let currentPath = '';
        for await (const dirent of dir) {
            // 当前路径
            currentPath = fromDir + dirent.name;
            // 如果不是目录则跳过
            if (!dirent.isDirectory()) {
                continue;
            }
            // 获取目录名称
            filesData.push(NmPath.basename(dirent.name));
        }
        return filesData;
    }
    
    // 执行生成报告文件的功能
    async function run(fromDir, reportFilePath) {
        let files = await reportDirs(fromDir).catch(err => console.log(err))
        NmFs.writeFileSync(reportFilePath, files.join("
    "));
        console.log('报表已成功生成。详见: ', reportFilePath);
    }
    
    // 注意:运行时需修改一下路径信息
    const DIR_PATH = 'F:\Downloads\Images\风景';
    const REPORT_FILE_PATH = DIR_PATH + '\' + NmPath.basename(DIR_PATH) + ' 目录.txt';
    // 运行入口
    run(DIR_PATH, REPORT_FILE_PATH);
    

    运行:

    node folder-report.js
    
  • 相关阅读:
    Android中WebView如何加载JavaScript脚本
    Android中WebView如何加载JavaScript脚本
    Android中WebView如何加载JavaScript脚本
    Android如何使用SQLlite数据库
    Android如何使用SQLlite数据库
    Android如何使用SQLlite数据库
    __declspec(dllimport)的作用
    __declspec,__cdecl,__stdcall都是什么意思?有什么作用?
    #pragma pack(push,1)与#pragma pack(1)的区别
    #pragma pack(n) 的作用
  • 原文地址:https://www.cnblogs.com/sochishun/p/14449058.html
Copyright © 2011-2022 走看看