bat批处理修改文件夹下文件名字

您所在的位置:网站首页 文件夹和子文件夹批量改 bat批处理修改文件夹下文件名字

bat批处理修改文件夹下文件名字

2024-07-14 23:23| 来源: 网络整理| 查看: 265

bat批处理修改文件夹下文件名字 业务场景

有时候我们经常会遇到需要批量处理一些文本或者文件名称的问题,批量文本的处理可以使用notepad++ 里面的列编辑,或者批量替换字符串即可。假如有这样一个要求,某个文件夹下有多个文件,他们文件名字组成:有不同的前缀+时间(如下图),我们经常需要替换文件名中的日期以达到业务需求。 在这里插入图片描述

解决办法 ①,一个一个重命名

​ 费时费力,如果文件达到一个数量级,效率低下,容易出错。

②,使用Excel +bat命令

原理 就是通过Excel 获取 xx 文件夹 下文件名字 然后 通过 ren 命令 重命名 (不明白,自行问度娘)

在这里插入图片描述在这里插入图片描述 在这里插入图片描述

③,用第三方工具

​ 菲菲更名宝贝之得意非凡,缤纷批量修改文件名,拖把更名器 等,功能都比较强大,大家可以自行下载研究,软件的缺点就是占用空间,打开麻烦等。。。

④,bat批处理

如果大家对bat比较熟悉,建议手动写一个bat批处理,这样比较有成就感,灵活性高。

@echo off setlocal enabledelayexpansion set /p oldDate= 请输入原字符串: set /p targetDate= 请输入替换的字符串: echo 要替换成的字符串为: %targetDate% for /f "token=*" %%a in ('dir /b /a-d *%oldDate%*') do ( set "oldName=%%a" set "newName=!oldName:%oldDate%=%targetDate%!" ren "!oldName!" "!newName!" ) echo 修改完成! pause

注意: bat文件编码格式请保存为gb2312 防止控制台中文乱码

这段批处理脚本的作用是在当前目录下将所有包含指定子字符串 oldDate 的文件名替换为 targetDate。

首先使用 set /p 命令获取用户输入的原字符串和要替换成的字符串,分别存储在 oldDate 和 targetDate 变量中。由于要在循环中进行变量替换,因此启用了 enabledelayexpansion 选项。

接着,使用 for 命令遍历当前目录下所有不是目录的文件,并将文件名存储在 %%a 变量中。通过 set 命令将文件名赋值给 oldName 变量,并使用 ! 符号进行延迟变量替换,即将 %oldDate% 替换为 %targetDate%,并将结果赋值给 newName 变量。

最后,使用 ren 命令将文件名从 oldName 修改为 newName,这样就完成了批量替换操作。

需要注意的是,在执行该脚本之前,请确保所在目录下没有相同名称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。

称的文件,否则可能会导致文件名冲突。另外,由于该脚本只替换文件名中的指定子字符串,不对文件内容进行修改,因此请谨慎使用。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3