bat 批量重命名文件 并替换部分字符

处理一些任务,正好用到,记录之

 

1 使用for,截取_之后的文件名,并重命名

复制代码
@echo off & setlocal enableDelayedExpansion
rem 1 这是提示输入文件位置,直接打开文件夹复制路径、黏贴就行
set /p path=please paste/input your Excel Path :
cd /d %path%

rem 2 这是通过循环去修改文件夹里面的文件
for /f "tokens=1-3 delims=_" %%i in ('dir /aa /b %path%') do (
::echo in progressing %%i_%%j_%%k
ren "%%i_%%j_%%k" %%k
)

rem 3 结束,并打开文件位置
echo.
echo.
echo its ok now,the file locate at %path%

C:\Windows\explorer.exe %path%
把这个放到bat文件里面,运行,按提示输入,就没问题了
复制代码

2 替换文件名中的_,可以替换成任何字符,我这里只置空

复制代码
@echo off & setlocal enableDelayedExpansion
rem 1 这是提示输入文件位置,直接打开文件夹复制路径、黏贴就行
set /p path=please paste/input your Excel Path :
cd /d %path%

rem 2 这是通过循环去修改文件夹里面的文件名字
for /f "delims=!" %%i in ('dir /aa /b %path%') do (
::echo in progressing %%i_%%j_%%k
set str1=%%i
set str2=!str1:_=!
echo str1 is !str1! str2 is !str2!
ren "!str1!" "!str2!"

)

rem 3 结束,并打开文件位置
echo.
echo.
echo its ok now,the file locate at %path%

C:\Windows\explorer.exe %path%
复制代码

 

二者方法都类似,用到了for,用到了变量,和延迟变量开关

reference

终极dos批处理for循环命令详解

可以删除文件名中指定字符串的重命名批处理脚本

 

posted @   驴得水  阅读(21132)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示