【笔记4-1】批处理脚本系列:利用批处理批量更改文件名

利用批处理批量更改文件名

1. 更改文件后缀

利用for循环实现批量更改文件后缀

@echo off
echo 开始更改文件名
set extension=.c
set /a sum=0
for %%m in (*) do (
if not "%%m"=="demo1.bat" (
ren %%m %%m%extension% 
set /a sum=sum+1
)
)
echo 文件改名完毕,一共%sum%个文件被改名
set sum=
set extension=

将上述代码保存在demo1.bat中,并将要改名的文件和bat放置于同一个文件夹中

代码解析:

  • 1.定义了extension变量用于保存扩展名.c
  • 2.定义sum变量用于计数,/a不能省略,表示sum是数值类型变量
  • 3.for 循环用于处理当前目录下每一个文件“*”代表当前目录下的所有文件,“%%m”代表具体的某一一个文件,
    每次循环时“%%m”所代表的文件都不一样。 for循环的次数取决于当前文件夹下文件的总数。
  • 4.利用“ren"命令修改文件名。对于新文件名“%%m%extension%",“%%m”表示文件名,“%extension%"表示扩展名“.c”。
  • 5.最后两行,删除变量**
  • 6.注意选择的文件名不能带有空格

运行结果:
改名前:

在这里插入图片描述
改名后:
在这里插入图片描述
在这里插入图片描述

2.拓展:在文件名前加序号

@echo off
setlocal EnableDelayedExpansion
echo 开始更改文件名.....
set extension=.c
set  /a sum=0

for %%m in (*) do (
if not "%%m"=="demo1.bat" (
ren %%m !sum!%%m
set  /a sum=!sum!+1
)
)
echo 文件改名完毕,一共有%sum%个文件被改名!
set sum =
set extension=

代码解析:

  • 代码整体大致与改后缀名代码相同
  • setlocal EnableDelayedExpansion是延迟环境变量拓展,大概意思是在for循环中无法及时更新变量,详情参考延迟环境变量拓展
    感谢大佬的讲解
  • 注意选择的文件名不能带有空格

运行结果:
改名前:

在这里插入图片描述
改名后:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值