脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - bat - 批处理重命名系列案例代码

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

2021-10-07 11:04张戈 bat

这篇文章主要介绍了批处理重命名系列案例代码,需要的朋友可以参考下

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

案例一、

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

我给出的代码:

?
1
2
3
4
5
6
7
8
9
10
@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 1280x720 x264 FLAC].ass代码如下:

?
1
2
3
4
5
6
7
@echo off 
set a=0 
setlocal EnableDelayedExpansion 
for %%n in (*.ass) do ( 
ren "%%n" "[Yousei-raws] Soul Eater !a! [BDrip 1280x720 x264 FLAC].ass"
set /A a+=1 
)

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

我给出的代码:

?
1
2
3
4
5
6
7
@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 1280x720 x264 FLAC].ass"
)

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

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

原文链接:https://zhang.ge/116.html

延伸 · 阅读

精彩推荐
  • bat教你cmd bat文件中调用另一个bat文件的方法

    教你cmd bat文件中调用另一个bat文件的方法

    这篇文章主要介绍了cmd 如何在bat文件中调用另一个bat文件,本文通过三个情景分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,...

    二十同学7592022-04-20
  • bat批处理命令向win server AD域中批量添加用户实现(2种)

    批处理命令向win server AD域中批量添加用户实现(2种)

    本文主要用个批处理命令在Windows Server里面批量添加域用户,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Charles Ren7972022-04-25
  • bat批处理将字符串或日期输出到Windows剪贴板的实现方法

    批处理将字符串或日期输出到Windows剪贴板的实现方法

    这篇文章主要介绍了批处理将字符串或日期输出到Windows剪贴板的实现方法,主要是借助系统自带的clip.exe,这里为大家介绍一下,需要的朋友可以参考下...

    N3verL4nd10982021-10-09
  • bat学会批处理

    学会批处理

    先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个...

    批处理教程网10452021-12-26
  • batbat过滤任意字符

    bat过滤任意字符

    早在写 bat的一个小游戏猜数字的时候我就研究过这个问题 如何在bat里面实现 对输入的任意字符进行过滤 当时使用的几种方法如下 ...

    allyesno10772021-12-26
  • bat批处理文件bat脚本实现代码自动提交和项目部署

    批处理文件bat脚本实现代码自动提交和项目部署

    这篇文章主要介绍了批处理文件bat脚本实现代码自动提交和项目部署,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    程序猿浩哥7382021-10-09
  • batWindows批处理更改当前工作路径的BAT

    Windows批处理更改当前工作路径的BAT

    最近项目上需要获取文件夹下所有文件信息,因为文件夹是在server上,所以想用批处理bat来获取该路径下所有文件信息,然后通过任务计划管理去每天自动...

    脚本之家11642021-10-07
  • bat定时检查网站是否掉线的批处理

    定时检查网站是否掉线的批处理

    连日来,托管服务器每天老是掉线,重起一下又好了,似乎没有死机,不像是硬件的问题.怀疑有木马或病毒,但是找了几天没找到,没办法,还是先治治标吧,慢慢找...

    批处理教程网10562021-12-26