标题: [文件操作] [已解决]批处理根据指定条件,指定文件重命名? [打印本页]
作者: czvde 时间: 2022-5-26 10:41 标题: [已解决]批处理根据指定条件,指定文件重命名?
本帖最后由 czvde 于 2022-5-30 23:26 编辑
文件夹未操作前如下:
ABC987_=-00.png
ABC987_=-03.png
ABC987_=-03———11.png
……
ABC987_=-291.png
00ABC_=-001.png
00ABC_=-005.png
……
00ABC_=-941.png
文件夹变成如下:
【00000__00291】ABC987_=-00.png
【00003__00291】ABC987_=-03.png
【00003__00291】ABC987_=-03———11.png
……
【00291__00291】ABC987_=-291.png
【00001__00941】00ABC_=-001.png
【00005__00941】00ABC_=-005.png
……
【00941__00941】00ABC_=-941.png
已解决!
作者: qixiaobin0715 时间: 2022-5-26 11:55
将下面代码 另存为ANSI编码:- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=_"%%i in ('dir /b /a-d *.png') do set /a _%%i+=1
- for /f "tokens=1,2 delims==_" %%i in ('set _') do (
- set str1=0000%%j
- set str1=!str1:~-5!
- for /f "tokens=1,2 delims=-." %%a in ('dir /b /a-d %%i*.png') do (
- set str2=0000%%b
- set str2=!str2:~-5!
- ren "%%a-%%b.png" "【!str2!__!str1!】%%a-%%b.png"
- )
- )
- pause
复制代码
未测试
作者: qixiaobin0715 时间: 2022-5-27 08:53
回复 1# czvde
2楼代码第3行%%i前少了一个空格。
作者: czvde 时间: 2022-5-27 09:01
回复 3# qixiaobin0715
如果1楼改为这样,如何实现
作者: qixiaobin0715 时间: 2022-5-27 09:09
回复 4# czvde
那就要复杂一些,修改代码第3行的求最大序号的变量,后面不变。最好能自己先考虑一下如何修改。
作者: qixiaobin0715 时间: 2022-5-27 10:21
本帖最后由 qixiaobin0715 于 2022-5-27 10:30 编辑
回复 4# czvde
你把顶楼以前的要求重新修改后,现在的描述(比如参考二楼,什么加一,不加一的)就会让别人感到莫名奇妙。
实际上修改需求后就不存在加一的问题,而是变成判断大小的事了。
作者: qixiaobin0715 时间: 2022-5-27 15:38
本帖最后由 qixiaobin0715 于 2022-5-27 16:26 编辑
回复 4# czvde
由于你没有提供示范文件,未测试。不知下面代码是否可行:- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1-2 delims=_-.—=" %%i in ('dir /b /a-d *.png') do (
- if not "%%i"=="!var2!" set _%%i=%%j
- if %%j gtr !_%%i! set _%%i=%%j
- set var2=%%i
- )
- for /f "tokens=1,2 delims==_" %%i in ('set _') do (
- set str1=0000%%j
- set str1=!str1:~-5!
- for /f "tokens=1-4 delims=-—." %%a in ('dir /b /a-d %%i*.png') do (
- set str2=0000%%b
- set str2=!str2:~-5!
- if "%%d"=="" (
- ren "%%a-%%b.png" "【!str2!__!str1!】%%a-%%b.png"
- ) else (
- ren "%%a-%%b———%%c.png" "【!str2!__!str1!】%%a-%%b———%%c.png"
- )
- )
- )
- pause
复制代码
刚才有点小错误,已修改。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |