永发信息网

求bat代码,文件批量重命名

答案:4  悬赏:30  手机版
解决时间 2021-01-30 13:27
我这个批量重命名比较特殊,不是普通的批量重命名。因为有些时候windows里面和其他软件的按照日期重命名顺序不一样,但是windows的正确,所以我要先在windows里面按照时间顺序排列以后,f2批量重命名,再用其他软件重新批量命名。现在的问题是windows批量重命名格式跟其他软件不一样,位数不对,所以再其他软件了无法正确显示。比如:
windows显示的顺序(正确的顺序)是:
acd
acd (1)
acd (2)
acd (3)
acd (4)
acd (5)
acd (6)
acd (7)
acd (8)
acd (9)
acd (10)
acd (11)
acd (12)
acd (13)
acd (14)
acd (15)

其他软件显示的顺序是:
acd (1)
acd (10)
acd (11)
acd (12)
acd (13)
acd (14)
acd (15)
acd (2)
acd (3)
acd (4)
acd (5)
acd (6)
acd (7)
acd (8)
acd (9)
acd

现在我想求一段bat代码,按照windows里的顺序重新批量命名,比如:
acd 000001
acd 000002
acd 000003
acd 000004
acd 000005
acd 000006
acd 000007
acd 000008
acd 000009
acd 000010
acd 000011
acd 000012
acd 000013
acd 000014
acd 000015
acd 000016
最佳答案
看看生成的批处理脚步是否符合你的要求,符和再运行。
@echo off
setlocal enabledelayedexpansion
(for /f "tokens=1-3 delims=()" %%i in ('dir/b acd*') do (
set/a n=%%j+1
set fn=00000!n!
echo !fn!
set fn=!fn:~-6,6!
echo !fn!
if "%%j" neq "" (echo copy %%i(%%j^)%%k "acd !fn!%%k")else echo copy %%i%%k "acd !fn!%%k"
))>renren.bat
notepad renren.bat
全部回答
修改一下FOR循环的起止数字,不要从1开始,从1000001开始,然后从第二位开始截取到最后就可以了. 改一下你原有的批处理应该就能用.
  @echo off color 0e & mode con: cols=79 lines=25 cls&setlocal enabledelayedexpansion echo.&echo.&echo.&echo.&echo. echo   说明: echo.&echo   使用本bat文件可批量重命名本文件所在文件夹下的所有文件 echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo. set /p filename=  请输入新的文件名(直接以数字重命名请直接回车): echo.&set /p houzhui=  请输入重命名的文件后缀类型(全部重命名请输入*): for /f "delims=" %%i in ('dir /a-d/b *.%houzhui%') do ( set/a a+=1 ) set b=!a! if !b! geq 1000 goto :a if !b! geq 100 goto :b else  goto :c :a set a=1 for /f "delims=" %%j in ('dir /a-d/b *.%houzhui%') do ( set name=000!a! if not "%%~ni"=="%~n0" ( ren "%%j" "%filename%!name:~-5,4!.%houzhui%" set/a a+=1 ) ) echo.&echo.&echo.&echo.&echo  操作完成,按任意退出…… exit pause >nul :b set a=1 for /f "delims=" %%j in ('dir /a-d/b *.%houzhui%') do ( set name=00!a! if not "%%~ni"=="%~n0" ( ren "%%j" "%filename%!name:~-4,3!.%houzhui%" set/a a+=1 ) ) echo.&echo.&echo.&echo.&echo  操作完成,按任意退出…… exit pause >nul :c set a=1 for /f "delims=" %%j in ('dir /a-d/b *.%houzhui%') do ( set name=0!a! if not "%%~ni"=="%~n0" ( ren "%%j" "%filename%!name:~-3,2!.%houzhui%" set/a a+=1 ) ) echo.&echo.&echo.&echo.&echo  操作完成,按任意退出…… exit pause >nul
为防搞错给你新建了一文件夹 newd @echo off&setlocal enabledelayedexpansion set str=acd set/a n=1000000 md newd 2>nul for /f "delims=" %%i in ('dir/b/od %str%*')do ( echo %%i set/a n+=1 copy "%%i" "newd\%str% !n:~-6!%%~xi">nul) start newd
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高安市鸿海公司停车场地址好找么,我有些事要
问道手游强物理伤害那个时间点几率大
24分之23*68分之8=几分之几
玄来礽的意思是什么啊?知道的请说下!
大秦帝国之纵横 6国联军出兵函谷关站前动员是
实木门和原木门区别有哪些
和谐园小区停车场地址在什么地方,想过去办事
Smile.It’s easier than explaining why you
表白失败了,关系变的尴尬怎么办
南华寺和衡山哪个历史更远
玲波停车场地址好找么,我有些事要过去
如何根据当日铜价,计算电线缆价格?拜托各位
成住坏空的意思是什么啊?知道的请说下!
三亚怎么没有同仁堂药店嘛
适合一年级的文学书有哪些?
推荐资讯
男人的三围多少才算标准身材
z139硬座和卧铺之间门是开着的吗
1/4:6/7的化简比是多少
【明月松间照清泉石上流】明月松间照清泉石上
一个电影哥哥在病床上瘫痪,他的女朋友和他的
持续增长用英语怎么说
盛夏未央酒吧地址有知道的么?有点事想过去
铭创保洁服务地址在什么地方,想过去办事
我的胸部一直疼痛到底是怎么回事啊
郭家坪加气站地址有知道的么?有点事想过去
甲比乙多20%,乙比甲少( )%,甲比乙少20%,那
什么是色彩的干画法 怎么画的?画色彩时用干画
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?