中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 一个比较复杂的图片批量重命名问题
作者:
标题: 一个比较复杂的图片批量重命名问题 上一主题 | 下一主题
lac
新手上路





积分 4
发帖 4
注册 2009-8-4
状态 离线
『楼 主』:  一个比较复杂的图片批量重命名问题

现在碰到这样一个问题,我现在有200个文件夹,每个文件夹内有名字依次为1,2,3。。。19的19张图片,一些图片有缺失的情况,所以编号也可能是不连续的。
需要把这些图片改名为A_X_B_Y的格式,其中,A为固定的前缀,X须与图片所在的文件夹名相同,B也为固定的,Y与图片的编号相关联,如1对应Y1,2对应Y2等,但Y1,Y2。。。Y19不连续。(先前为了咨询用Y1...这些代称来提问,犯了未能一次表述清楚问题的错误,现在重新编辑一下,请见谅!)
重命名对应关系如下:
图片现名      重命名目标名称
1                 A_X_B_SE-C-010
2                 A_X_B_SE-F-1-010
3                 A_X_B_SE-F-1-040
4                 A_X_B_SE-F2-010
5                 A_X_B_SE-F2-020
6                 A_X_B_SE-F2-030
7                 A_X_B_SE-F2-040
8                 A_X_B_SE-F2-050
9                 A_X_B_SE-F3-010
10               A_X_B_SE-F3-030
11               A_X_B_SE-F3-040
12               A_X_B_SE-F3-060
13               A_X_B_SE-F3-080
14               A_X_B_SE-F-4-060
15               A_X_B_SE-F-4-070
16               A_X_B_SE-F-4-080
17               A_X_B_SE-F-4-160
18               A_X_B_SE-A-1-010
19               A_X_B_SE-A-1-020
我属于门儿都还没入的新手,帖子也搜索过,无奈没有这种把固定前缀,与文件夹同名,指定列表重命名综合起来的案例,只有发帖寻求帮助了。。。

[ Last edited by lac on 2009-8-7 at 03:16 ]

2009-8-6 23:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 2 楼』:  

试试?如果显示符合要求,把ren前的"echo."去掉即可进行重命名操作...
@echo off
for /f "delims=" %%a in ('dir /b /ad *.*') do (
   for /f "delims=" %%i in ('dir /s /b /a-d "%%a\*.jpg"') do (
      echo.ren "%%i" "A_%%a_B_Y%%~xni"
   )
)
echo.&pause


2009-8-7 00:57
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lac
新手上路





积分 4
发帖 4
注册 2009-8-4
状态 离线
『第 3 楼』:  

谢谢moniuming!用6个文件夹尝试后格式正确,接下来的的问题是,Y1,Y2,Y3...这些是一种代称,而实际上有以下的对应关系:
Y1    SE-C-010
Y2    SE-F-1-010
Y3    SE-F-1-040
Y4    SE-F2-010
Y5    SE-F2-020
Y6    SE-F2-030
Y7    SE-F2-040
Y8    SE-F2-050
Y9    SE-F3-010
Y10  SE-F3-030
Y11  SE-F3-040
Y12  SE-F3-060
Y13  SE-F3-080
Y14  SE-F-4-060
Y15  SE-F-4-070
Y16  SE-F-4-080
Y17  SE-F-4-160
Y18  SE-A-1-010
Y19  SE-A-1-020

这似乎要用到以前一篇帖子里的指定重命名方法了,不知如何能整合进来呢?

2009-8-7 02:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 4 楼』:  

这是最后一次回复...
如果显示符合要求,把ren前的"echo."去掉即可进行重命名操作...
@echo off
setlocal enabledelayedexpansion
set n=0
for %%a in (SE-C-010 SE-F-1-010 SE-F-1-040 SE-F2-010 SE-F2-020 SE-F2-030 SE-F2-040 SE-F2-050 SE-F3-010 SE-F3-030 SE-F3-040 SE-F3-060 SE-F3-080 SE-F-4-060 SE-F-4-070 SE-F-4-080 SE-F-4-160 SE-A-1-010 SE-A-1-020) do (
   set /a n+=1
   set "y!n!=%%a"
)
set n=0
for /f "delims=" %%a in ('dir /b /ad *.*') do (
   for /f "delims=" %%i in ('dir /s /b /a-d "%%a\*.jpg"') do (
      set /a n+=1
      call echo.ren "%%i" "A_%%a_B_%%y!n!%%%%~xni"
   )
)
echo.&pause


2009-8-7 03:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lac
新手上路





积分 4
发帖 4
注册 2009-8-4
状态 离线
『第 5 楼』:  

moniuming兄,谢谢回复!
well...出问题了,我使用了9个文件夹进行试用,执行后只有前18条实现了A_X_B_SE-C-010格式的指定改名,且执行结果为01改为A_X_B_SE-C-01001,10改为A_X_B_SE-C-01010,而18条以后仅进行了A_X_B_01,A_X_B_10这样的改动,不知是怎么回事

2009-8-7 04:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 6 楼』:  


@echo off
setlocal enabledelayedexpansion
set n=0
for %%a in (SE-C-010 SE-F-1-010 SE-F-1-040 SE-F2-010 SE-F2-020 SE-F2-030 SE-F2-040 SE-F2-050 SE-F3-010 SE-F3-030 SE-F3-040 SE-F3-060 SE-F3-080 SE-F-4-060 SE-F-4-070 SE-F-4-080 SE-F-4-160 SE-A-1-010 SE-A-1-020) do (
   set /a n+=1
   set "y!n!=%%a"
)
for /f "delims=" %%a in ('dir /b /ad *.*') do (
   set n=0
   for /f "delims=" %%i in ('dir /s /b /a-d "%%a\*.jpg"') do (
      set /a n+=1
      call ren "%%i" "A_%%a_B_%%y!n!%%%%~xi"
   )
)
echo.&pause
[ Last edited by moniuming on 2009-8-7 at 04:42 ]

2009-8-7 04:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lac
新手上路





积分 4
发帖 4
注册 2009-8-4
状态 离线
『第 7 楼』:  

现在使用了80个文件夹进行了回显试用,效果良好没有错误。拜谢moniuming兄!

2009-8-7 04:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: