本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!