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

这篇具有很好参考价值的文章主要介绍了web前端之node批量修改文件名、大小驼峰与符号之间的相互转换、把小驼峰文件名改为短横线、readdir、stat、rename。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


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
文章来源地址https://www.toymoban.com/news/detail-791229.html


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

/**
 * 大小驼峰转为符号
 * @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的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Lua 批量修改文件夹下文件名

    2024年02月16日
    浏览(39)
  • 快速批量修改文件名,微软官方软件PowerRename

    https://github.com/microsoft/PowerToys/releases https://apps.microsoft.com/store/detail/microsoft-powertoys/XP89DCGQ3K6VLD 在命令行/PowerShell 运行以下命令即可: 这一步如果没有PowerRename选项的可以在PowerToys(第一步下载的软件)中启用PowerRename,并把在上下文菜单中隐藏图标取消勾选 选中使用正则表达式,

    2024年02月05日
    浏览(45)
  • Linux批量快速修改文件名的三种方法

    在Linux中, 批量重命名文件 是一项常见且有用的操作。以下是三种常用的批量重命名文件的方法,每种方法都附有示例。这些方法既可以适用于新手,也适用于更有经验的用户。 话不多说,直接上干货! rename 命令 rename命令是一种强大的批量重命名工具,它支持使用正则表

    2024年04月11日
    浏览(43)
  • python 批量修改文件名(PDF、word、Excel、图片、视频等)

          很多朋友遇到批量修改文件名的问题,网上各种搜,操作麻烦不说还有些需要付费。这里不多废话,直接上代码。 一、支持库 二、 定义函数 三、程序入口 四、运行,微云 下载:文件分享

    2024年01月23日
    浏览(40)
  • MultipartFile获取文件名,文件大小,文件后缀等方法

    获取文件名及后缀信息: 获取文件名: 获取文件后缀:这个后缀带‘.’如:.zip,如果不想带‘.’这样即可lastIndexOf(\\\".\\\")+1 获取文件类型: 获取文件大小:

    2024年02月16日
    浏览(44)
  • 具有相同大小写的相对路径上的“文件名与仅在大小写中已包含的文件名不同”

    错误 TS1149:文件名“C:/Project/frontend/scripts/State.ts”与已包含的文件名“…/frontend/scripts/State.ts”不同,仅在大小写中。 我已经三次检查了我们参考文献中的大小写,实际文件也有正确的大小写。据我所知,这仅仅是因为相对路径使用了不正确的大小写,或者仅仅是因为相对路

    2024年02月11日
    浏览(41)
  • git识别不到文件名大小写变更

    把文件名从首字母小写改为首字母大写,然后 push 到远程,这时候 vscode 里识别不到文件的变更,导致本地的文件名是首字母大写,远程的文件名还是首字母小写,原因是git默认配置是忽略大小写 解决方法: 执行 git config core.ignorecase 查看本地仓库git忽略大小写是打开还是关

    2024年02月16日
    浏览(32)
  • git 更换文件名大小写无法提交问题

    方法一: 1.使用 git config core.ignorecase命令查看当前git是否忽略了大小写 2.如果显示为true,使用git config core.ignorecase false命令将忽略大小写设置为false 3.再次提交文件时就能够将更换了大小写名称的文件提交上去了 方法二: 1、先将要提交的文件备份 2、删除对应文件并提交到

    2024年02月11日
    浏览(37)
  • 如何在 Linux 中批量改变文件名?

    在Linux中,使用 \\\"rename\\\" 命令可以批量修改文件名。具体步骤如下: 1. 打开终端并进入你要批量修改文件名的目录: ``` cd /path/to/directory ``` 2. 使用 \\\"rename\\\" 命令来修改文件名。例如,将所有的 \\\".txt\\\" 文件扩展名改为 \\\".md\\\" 扩展名,可以使用以下命令: ``` rename \\\'s/.txt$/.md/\\\' *.txt ```

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包