用bat批处理清除文件名中的序号和添加序号

一、清除文件名中的序号

需要处理的文件如下图所示,要求是需要删除所有的序号和序号后面的空格:

fc434fe3ea6e6abf0fbe3f3b87f374bd.png

思路就是for循环所有的文件名,然后以空格为界限找到序号用空字符替换,最后重命名文件

下面的代码是写的bat处理程序代码

@echo off&setlocal enabledelayedexpansion

for /f "delims=" %%i in ('dir /s/b *.*') do (
::提取除路径外的文件名
set "str=%%~nxi"  
::清除空格前的任意字符
set str=!str:* =!
::重命名  用str重新命名
ren "%%~fi" "!str!"

)
::这里可以换成exit直接退出
pause
  1. setlocal enabledelayedexpansion表示设置变量延迟

  1. *.*表示任意文件

  1. ::表示行注释

  1. bat中是用set的形式设置变量的

  1. set "str=%%~nxi" 表示提取不包括文件路径的文件名,并把其赋值给一个叫做str的变量

  1. set str=!str:* =! 在循坏中的变量用!!引用,%VAR:str1=str2%会将VAR中的str1替换为str2,str2为空时可以达到删除str1的效果,*表示任意字符,这里str1为*和一个空格,表示把str中空格前的任意字符删去并重新赋值给str,图中效果就是删除序号和序号中的空格

  1. ren代表重命名

处理结果如下图所示:

6779742bc7a7a61e996422cf919e9c0b.png

二、给文件添加序号

@echo off&setlocal enabledelayedexpansion
::设置需要添加的序号初始值为104564
set /a num=104564
for /f "delims=" %%i in ('dir /s/b *.*') do (
::提取除路劲外的文件名
set "str=%%~nxi"  
::用序号加空格加原文件名赋值给str
set str=!num! !str!
::num自加1
set /a num+=1
::重命名  用str重新命名
ren "%%~fi" "!str!"
::在控制台回显修改了的文件名
echo !str!
)
::可以换成exit直接退出
pause

处理结果:

ea59f7a758af38456a66fbac8db1de6a.png

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值