node.js小知识-对文件中图片归类

Windows本地AI代理安装全指南:PowerShell与Node.js避坑实战 本地AI代理(Local AI Agent)是当前桌面智能化的核心范式,其本质是在用户设备上运行的轻量级智能工作流调度器,依托PowerShell实现系统级自动化,依赖Node.js提供跨平台运行时与包管理能力。相比云端AI应用,本地代理具备数据隐私强、响应延迟低、可深度集成文件系统与办公软件等技术优势,广泛应用于文档摘要、Excel清洗、知识库问答及批量文件处理等高频办公场景。本文聚焦Windows平台下OpenClaw这一典型本地Agent的落地实践,深入解析PowerShell执行策略配置、Node. 阅读详情
  • 文件目录结构
├── 3.png
├── 4.jpg
├── demo1
│  ├── 1.png
│  └── 2.png
├── demo2
│  ├── 1.svg
│  ├── 2.svg
│  └── demo3
│    ├── 10.svg
│    ├── 11.svg
│    └── demo4
│      ├── 12.svg
│      └── demo5
│        └── 13.png
└── move.js

实现的效果是想要把png放到一个文件夹中, jpg放到一个文件夹中, svg放到一个文件夹中, 结构如下

├── categorized
│  ├── jpg
│  │  └── 4.jpg
│  ├── png
│  │  ├── 1.png
│  │  ├── 13.png
│  │  ├── 2.png
│  │  └── 3.png
│  └── svg
│    ├── 1.svg
│    ├── 10.svg
│    ├── 11.svg
│    ├── 12.svg
│    └── 2.svg
实现的代码如下
/*
 * @Author: DZL
 * @Date: 2023-07-23 20:52:29
 * @LastEditors: DZL
 * @LastEditTime: 2023-07-23 20:57:40
 * @Description: 
 */
const fs = require("fs").promises;
const path = require("path");

// 源图片文件夹
const srcDir = "./assets";

async function checkAndCreateFolder(folderPath) {
  try {
    // 确保文件夹路径存在
    await fs.mkdir(folderPath, { recursive: true });

    // 使用fs.access检查文件夹是否存在
    await fs.access(folderPath, fs.constants.F_OK);
    return true;
  } catch (err) {
    console.error("文件夹不存在:", err);
    return false;
  }
}

// 递归读取图片
const categorizeImages = async (dir) => {
  const files = await fs.readdir(dir);

  for (let file of files) {
    const filePath = path.join(dir, file);
    const stat = await fs.stat(filePath);

    if (stat.isDirectory()) {
      // 递归读取子文件夹
      categorizeImages(filePath);
    } else {
      // 获取扩展名
      const ext = path.extname(file);
      let folder = `./categorized/${ext.substring(1)}`;

      let exists = await checkAndCreateFolder(folder);
      if (exists) {
        const destPath = path.join(folder, file);
        await fs.copyFile(filePath, destPath);
        console.log(`Moved ${file} to ${folder}`);
      }
    }
  }
};

categorizeImages(srcDir);

【PADS-开发指南】 馒头破戒大师 阅读详情

相关推荐

CATIA高效设计:自定义快捷键全攻略

本文详细介绍了如何在CATIA中自定义快捷键以提升设计效率。通过减少鼠标依赖、优化工作流程和减轻手腕疲劳,合理设置快捷键可显著提高建模速度。文章提供了从基础设置到高级配置的全流程指南,包括解决冲突、推荐方案及外设扩展建议,帮助用户快速掌握CATIA高效设计技巧。

weixin_42648844的博客 584

判断链接后缀文件类型

1、获取文件后缀 //文件路径 var filePath = "file://upload/jb51.png"; //获取最后一个.的位置 var index= filePath.lastIndexOf("."); //获取后缀 var ext = filePath.substr(index+1); //输出结果 console.log(ext); 2、文件类型判断 ​ 我们得到文件后缀名后,根据后缀即可判断文件的类型(文件格式)。比如我们需要判断一个文件是否是图片格式,首 先定义一个判断函数: func

悄悄地卷的博客 1692

北京途游游戏后端开发面经

北京途游游戏后端开发面经 我面试岗位是基于Python的后端开发工程师,主要是搞游戏的服务器开发。面试一共分了两轮,之后说是看看其他的候选人再定,感觉凉凉~~ 由于受到此次新型冠状病毒疫情的影响,本次面试采用视频面试的方式,下面是面试的时候面试官提的问题,python的基础知识还是问的比较多的。  一面:(32分钟微信视频)  简单做下自我介绍,   1.说一下你开发过的项目,挑一个说下你都做了...

weixin_45603043的博客 2124

nodejs如何判断不同url的图片为同一张

需要注意的是,由于哈希值是一种近似匹配的方法,因此有可能会出现误判的情况。此外,由于图片下载和哈希值计算都是异步的操作,因此需要使用。方法计算图片的哈希值,并将其作为 Promise 返回。最后对比两张图片的哈希值,如果相同则返回。来计算图片的哈希值。通过比较不同 URL 下载的图片的哈希值,即可判断它们是否为同一张图片。下载不同 URL 的图片并返回其二进制数据。方法用于判断两张图片是否相同。在 Node.js 中,可以使用第三方库如。或 Promise 等方式来处理异步操作。在上面的示例代码中,

zhtxilyj的博客 870

动态刷新曲线_【GhPython应用】利用反射刷新Image sampler组件

【版权声明】| 作者:月之眼|案例图片来源:Sergiu Radu Pop的facebook| 如有侵权,请联系大水牛平台|如果觉得文章不错,欢迎分享效果展示利用python刷新Image sampler组件,主要的思路就是X输入端:输入要切换的图片路径,我的案例中输入了9张图片。然后通过100毫秒切换一张图片显示,来达到动态显示效果。代码分析run输入端类型:bool (I...

weixin_42393829的博客 531

ADSP-21565的SigmaStudio图形化编程实战:从FW工程改造到音频通道打通

本文详细介绍了如何将ADSP-21569的SigmaStudio图形化编程固件工程改造,以适配ADSP-21565的纯片内SRAM内存架构。通过修改内存映射和链接文件,打通了音频输出通道,并成功利用SigmaStudio进行图形化编程,实现了从白噪声生成到音频输出的完整验证流程。

weixin_29169505的博客 380

nodejs中图片上传,读取,预览

提供一个类似相册的功能模块,具体需求: 相册列表,新建相册,删除相册,点击进入相册,照片导入,照片删除,显示 我的做法是完全映射为文件的处理,即模拟一个简单浏览器端的文件管理系统(除导入外) 其中涉及到的知识: 1.nodejs文件操作(fs模块) 2.nodejs文件上传 nodejs文件操作 读取文件夹: fs.readdir(dest, function(e

u010603896的专栏 6752

【AUTOSAR实战】:CAN发送邮箱忙导致报文发送丢帧的问题调试

本文档主要讨论了CAN总线通信中可能出现的TC377传输错误的分析和解决方案。文章提供了如何通过检查CAN传输和接收过程、识别传输缓冲区的类型和状态以及选择适当的内存保护功能来检测和解决此类错误的见解。经过多次尝试和分析,得出的结论是,修改CANIF缓冲的尺寸并重新分配报文给各个buffer并不能解决问题。此外,发送中断被抢占可能导致报文无法发送,最终也将此因素排除。本文档还提到了一些可能导致发送流程调度出现问题的因素,例如CANIF中报文引用Buffer不合理。

weixin_46481662的博客 3136

【Node.js快速部署opencv项目】图像分类与目标检测

在现代Web开发中,JavaScript通过Node.js得以进入后端编程领域,带来了许多前所未有的开发便利。opencv4nodejs 是一个将OpenCV的强大功能直接绑定到Node.js的库,它允许开发者在一个统一的JavaScript环境中实现复杂的图像和视频分析任务。

忆_恒心的博客 2894

基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——Linux应用开发手册

本文主要介绍TL3562-MiniEVM评估板的AMP(Asymmetric Multi-processing)开发案例,介绍基于Linux + RT-Thread(RTOS)、Baremetal的AMP案例的开发环境搭建。

创龙,嵌入式一体化解决方案商 411

虚拟网络的“隐形盾”:C#如何用代码把DDoS踢出门?

本文分享了如何用C#防御DDoS攻击的实战经验。通过三种核心防御策略:1)基于IP的速率限制中间件,使用滑动时间窗口算法控制请求流量;2)自动IP封禁服务,通过特征检测识别恶意IP并加入黑名单;3)优化数据库连接池和HTTP客户端连接池,合理配置资源参数。文中提供了详细的C#代码实现,包括限流中间件、IP封禁服务和连接池优化方案,并分享了生产环境中的调优经验,如配合Redis实现分布式限流、使用fail2ban自动封禁等技巧,帮助开发者构建更健壮的防御体系。

墨夶的博客 329

Node.js图片文件请求浏览

本篇文章介绍如何搭建图片文件服务器,用户可以在浏览器请求访问浏览该图片。 /** * 图片服务器搭建 */ //载入http模块 const http = require("http"); //载入fs模块 const fs = require("fs"); //载入path模块 const path = require("path"); //载入url模块 const url = require("url"); //载入zlib模块 const zlib = require("zlib");

成长ing中的w的专栏 2280

Q3D提取PCB走线RLCG参数

介绍一种提取PCB走线寄生电容和寄生电感的方法

sinat_15150363的博客 2912

按照拍摄日期归类照片按照jpg图片的修改日期归类图片具备年\月\日期 归类

for /f "delims=" %%i in ('dir /ad /b /s "%Source%\"^|sort /r') do (rd /q "%%i" 2>nul&title %TT% 处理文件:"%%i")<input type="text" id="destination - folder" placeholder="保存在程序所在目录下请直接回车"><input type="text" id="source - folder" placeholder="请把要处理的文件夹拖曳到本窗口">

china365love的博客 1059

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

mime插件 node_【Node.js基础篇】(五)使用mime模块来响应css、js文件的请求

1.概述上一篇中我们实现了客户端的路由请求,包括直接使用js返回内容响应和使用html文件响应,但上一篇中最后的显示结果只是一个很普通的html文件,不能使用css样式和js文件,今天我们就通过设置响应文件的mime类型来实现不同文件的响应。文章会先介绍什么是mime类型,然后介绍两种设置mime类型的方法,第一种是通过后缀名判断文件类型,从而进行响应;第二种是使用第三方mime模块进行响应。示例...

weixin_30197529的博客 708

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

3行代码搞定PDF生成:Node.js开发者必备文档自动化指南

你是否还在为手动处理发票、报告等PDF文档感到困扰?是否希望用几行代码就能实现专业级PDF生成?本文将带你掌握PDFKit——Node.js生态中最强大的PDF生成库,从基础用法到高级排版,让你轻松实现文档自动化。读完本文,你将能够创建包含文本、表格、图片的复杂PDF文档,并集成到你的业务系统中。 ## 为什么选择PDFKit 在Node.js生态中,PDFKit是最受欢迎的PDF生成解决方案...

gitblog_00206的博客 1094

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

OpenClaw数据整理神器:nanobot镜像自动归类下载文件夹

本文介绍了如何在星图GPU平台上自动化部署🐈 nanobot:超轻量级OpenClaw镜像,实现智能文件分类管理。该镜像基于Qwen3-4B模型,能够实时监控下载文件夹,通过语义分析自动归类文档、图片等文件类型,大幅提升个人文件管理效率。

weixin_28746457的博客 400

JS一般般的网页重构可以使用Node.js做些什么

JS一般般的网页重构可以使用Node.js做些什么 这篇文章发布于 2016年06月7日,星期二,00:18,归类于 web综合。 阅读 7268 次, 今日 109 次 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5422 一、非计算机

vvhh22的博客 400

node.js毕设个人博客论文+程序

本选题针对个人博客系统功能整合与用户体验优化等问题的研究具有重要的理论意义和现实(实践)意义。 现实意义:在当今数字化信息爆炸的时代,个人博客已成为人们分享观点、展示自我的重要平台。本选题研究的个人博客系统,能够为用户提供一个集文字、图片、音乐、视频等多种媒体形式于一体的综合性分享空间,满足用户多样化的内容展示需求,帮助用户更好地展示个人风采、分享生活点滴和专业知识,提升个人在网络空间的影响力。 理论意义:本选题研究将对个人博客系统的架构设计、功能模块交互以及用户行为分析等进行深入的剖析,丰富和完善相关

月影_计算机毕设 771

归类总结金三银四前端面试题,8个方面让你在金九银十收获满满(1)

答: 块级格式化上下文,我布局总用!问: 什么会形成 BFC?它的作用是什么?答:body 根元素浮动元素:float 除 none 以外的值绝对定位元素:position (absolute、fixed)display 为 inline-block、table-cells、flexoverflow 除了 visible 以外的值 (hidden、auto、scroll)

m0_61408947的博客 789

【Node.js基础篇】(五)使用mime模块来响应css、js文件的请求

1.概述上一篇中我们实现了客户端的路由请求,包括直接使用js返回内容响应和使用html文件响应,但上一篇中最后的显示结果只是一个很普通的html文件,不能使用css样式和js文件,今天我们就通过设置响应文件的mime类型来实现不同文件的响应。文章会先介绍什么是mime类型,然后介绍两种设置mime类型的方法,第一种是通过后缀名判断文件类型,从而进行响应;第二种是使用第三方mime模块进行响应。示例是

zgljl2012的专栏 1万+

node.js毕设个人博客网站论文+程序

本选题针对个人博客网站的功能完善与用户体验提升等问题的研究具有重要的理论意义和现实(实践)意义。 理论意义:本选题研究将对个人博客网站涉及的用户需求分析、界面设计、功能模块构建等进行深入的剖析,为相关理论基础提供新的案例和研究方向。有助于进一步完善个人博客网站相关的理论体系,推动网站设计与开发理论的发展。 现实意义:在现实生活中,个人博客作为个人知识分享、情感表达和社交互动的重要平台,其用户体验至关重要。本选题的研究成果能够帮助开发者更好地了解用户需求,优化网站功能,提升用户体验。解决当前个人博客网站存

达华计算机毕设 734

如何安装Node.js

[code="java"]2011-02-13 @ 09:34:54 · 作者 Volcano · 归类于 javascript 你可能会感兴趣的内容 yepnope.js – 异步加载资源文件 如何在jquery mobile中加载google map api code-prettify — wordpress语法高亮插件 mac下的tree命令 图片预加载效果的实现 下面分...

sealbird的专栏 213

Ostrakon-VL-8B视觉语言模型一键部署:基于Node.js的Web应用集成实战

本文介绍了如何在星图GPU平台上一键自动化部署Ostrakon-VL-8B视觉语言模型,并快速集成至Node.js Web应用。通过该平台,开发者可轻松获得一个能理解图片内容的AI服务,典型应用场景如构建智能内容审核系统,自动识别用户上传图片中的违规信息。

weixin_42605397的博客 32

前端开发知识体系全景指南

从知识清单中找到自己的`知识盲点与欠缺、具有知识体系化的思想,开始建立自己的知识体系 阅读文章时将知识归类到知识体系中,并不断完善自己的知识体系,从文章中获取到了有用的资源

悟其浅而深修,沉其心而精进 1825

跨平台文件同步神器:OpenClaw控制Qwen3-32B-Chat智能归类

本文介绍了如何利用星图GPU平台自动化部署Qwen3-32B-Chat私有部署镜像(RTX4090D 24G显存CUDA12.4优化版),实现智能文件分类系统。该方案通过OpenClaw工具与Qwen模型结合,可自动分析文件内容并智能归类,显著提升文档管理效率,特别适合处理大量非结构化数据的知识工作者。

weixin_36303807的博客 384
上一篇: 每日一题之深浅拷贝总结
下一篇: javascript实现粒子特效(包含注释)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值