批处理重命名系列案例代码

2023-12-05 0 1,012

批处理用于文本/文件的操作确实非常简单有力!不用多么复杂的代码,仅一个记事本加上简洁的代码即可搞定大部分文本/文件的操作,下面记录下我用过的一些代码,基本都是我在百度回答知友的一些代码,既给涧客们参考,也让起到备忘的作用。。。。

案例一、

想把一个文件夹里的全部文件都命名成001,002……这样按顺序,什么顺序无所谓,只要名字都变了就行,谁帮忙写个

我给出的代码:

@echo off
setlocal enabledelayedexpansion
set var=1000
for /r \”%~dp0\” %%i in (*.*) do (
set /a var+=1
if not \”%%~nxi\”==\”%~nx0\” ren \”%%i\” !var:~-3!%%~xi
)
pause>nul
echo 处理完毕,任意键退出…
exit

简单解释:
1.使用for /r 遍历当前目录(%~dp0)下所有文件,效率比for /f + dir /s /b 高;
2.if not语句用于排除bat文件本身,全路径是%0,拓展到bat文件名:%~nx0;
3.利用变量1000开始累加,每次利用!var:~-3!取得后三位,即依次为001、002、003…
Ps:var=1000,那么此脚本最多重命名999个文件,再多将出现覆盖错误,如何修改?请涧客思考,最好能在评论中留下您的代码,呵呵!(比较简单,大虾请勿拍砖!)

案例二、

“比如,我有一个文件夹里的文件都是X1,、X2…X51,我有个的文件名字是X15.ass,用完以后变成[Yousei-raws] Soul Eater 14 [BDrip 1280×720 x264 FLAC].ass代码如下:

@echo off
set a=0
setlocal EnableDelayedExpansion
for %%n in (*.ass) do (
ren \”%%n\” \”[Yousei-raws] Soul Eater !a! [BDrip 1280×720 x264 FLAC].ass\”
set /A a+=1
)

如何才能让顺序变正确,顺便说一下,最后一个51变成了1.

我给出的代码:

@echo off
set a=100
setlocal EnableDelayedExpansion
for /f \”delims=*\” %%n in (\’dir /b *.ass\’) do (
set /a a+=1
ren \”%%n\” \”[Yousei-raws] Soul Eater !a:~-2! [BDrip 1280×720 x264 FLAC].ass\”
)

简单解释:因为a的值,被初始化为0,所以第一个文件就是0,第二个是1,那么第15个就是14了。。。代码调换了下顺序,先给a+1,让重命名时a的值为1即可。

Ps:此处使用for+dir 的方式,效率虽然会低一点,但是出错率也降低了,容易懂!当然一样可以用for /r。

您可能感兴趣的文章:

  • 批处理ren重命名的方式
  • C#使用OpenCv图像批处理并改变图片大小并且重命名
  • Python批处理删除和重命名文件夹的实例
  • 重命名批处理python脚本
  • 文件夹取其名称前两位重命名的批处理代码
  • 批处理重命名特殊文件名的代码
  • 全盘搜索指定文件并拷贝到指定位置[自动重命名]的批处理
  • 用批处理实现将文件以数字重命名的代码
  • 用批处理重命名文本文件名的代码
  • 重命名administrator账号的批处理文件
  • 批处理应用:恢复Mcafee重命名的可疑病毒文件扩展名
  • 批处理应用:根据文件内容进行重命名操作
  • 批处理应用根据文件内容进行重命名操作

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 DOS/BAT 批处理重命名系列案例代码 https://www.u-9.cn/jiaoben/dosbat/99589.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务