web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename

本文主要是介绍web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MENU

  • node批量修改文件名
  • 大小驼峰与符号之间的相互转换


node批量修改文件名

const fs = require('fs');
const path = require('path');/*** 批量修改文件名* @param {String} folderPath */
function batchModifyFileName(folderPath = '') {// 获取文件夹中的文件列表fs.readdir(folderPath, (err, files) => {if (err) return alert(`无法读取文件夹: ${JSON.stringify(err)}`);// 遍历文件列表files.forEach((file) => {const filePath = path.join(folderPath, file);// 检查文件是否为目录fs.stat(filePath, (err, stats) => {if (err) return alert(`无法获取文件状态: ${JSON.stringify(err)}`);// 只处理文件,忽略目录if (stats.isFile()) {// 将小驼峰改为横杠const newFileName = file.replace(/([a-z])([A-Z])/g, '$1-$2').> toLowerCase();// 构建新的文件路径const newFilePath = path.join(folderPath, newFileName);// 重命名文件fs.rename(filePath, newFilePath, (err) => {if (err) {console.error('无法重命名文件:', err);} else {console.log(`重命名文件成功: ${file} <=> ${newFileName}`);}});}});});});
}// E:/mzkj/mzkj/project/muzi-device-admin/src/assets/icons/svg
// E:/mzkj/mssj/aWeb/demo/batchModifyFileName
batchModifyFileName('E:/mzkj/mzkj/project/muzi-device-admin/src/assets/icons/svg');

以上代码只能在node环境下运行,在浏览器环境中运行报错。
node index.js


大小驼峰与符号之间的相互转换

/*** 大小驼峰转为符号* @param {String} name * @param {String} str * @returns */
function lettersToSymbol(name = '', str = '') {return name.replace(/([a-z])([A-Z])/g, `$1${str}$2`).toLowerCase()
}/*** 符号转为大小驼峰* @param {String} name * @param {String} str * @param {Boolean} isBig * @returns */
function symbolsToLetters(name = '', str = '-_|$#', isBig = false) {let regex = new RegExp(`[${str}]([a-z])`, "g"),result = name.replace(regex, (match, letter) => letter.toUpperCase());if (isBig) result = result.charAt(0).toUpperCase() + result.slice(1);return result;
}console.log(lettersToSymbol('myVariableName', '|'));
// my|variable|name
console.log(lettersToSymbol('MyVariableName', '_'));
// my_variable_name
console.log(symbolsToLetters('my-variable-name', '-', true));
// MyVariableName
console.log(symbolsToLetters('my_variable_name'));
// myVariableName
console.log(symbolsToLetters('my|variable|name'));
// myVariableName
console.log(symbolsToLetters('my$variable#name', undefined, true));
// MyVariableName

这篇关于web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596449

相关文章

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框