中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]求大侠写一批量重命名代码
« [1] [2] [3] »
作者:
标题: [已解决]求大侠写一批量重命名代码 上一主题 | 下一主题
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 16 楼』:  

楼上的,提示命令语法不正确,这玩意还真难了~~

2008-3-28 14:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 17 楼』:  

仍然是失败的,多谢大家的热情帮助了.......................

2008-3-28 15:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huajinghua
初级用户





积分 54
发帖 19
注册 2008-2-24
状态 离线
『第 18 楼』:  

这么简单都不会

2008-3-28 15:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 19 楼』:  



  Quote:
Originally posted by huajinghua at 2008-3-28 03:13 PM:
这么简单都不会

你编个试试看?

2008-3-28 15:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 20 楼』:  

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1-5 delims=._" %%a in ('dir /b *.jpg') do (
set /a sd=1+%%d
set /a se=1+%%e
ren %%a_%%b_%%c_%%d_%%e.jpg %%a_%%b_%%c_!sd!_!se!.jpp)
ren *.jpp *.jpg
pause

2008-3-28 15:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 21 楼』:  

13楼的绝对可以的

问题不在代码,应该是楼主自己的原因

2008-3-28 15:22
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 22 楼』:  

运行楼上的提示:

无效数字。数字常数只能是十进制(17),十六位进制(0x11)或
八进制(021)。

2008-3-28 15:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 23 楼』:  



  Quote:
Originally posted by abcd at 2008-3-28 03:22 PM:
13楼的绝对可以的

问题不在代码,应该是楼主自己的原因

不可以的,提示:
无效数字。数字常数只能是十进制(17),十六位进制(0x11)或
八进制(021)。
存在一个重名文件,或是找不到文件。

好像计算不正确.或是进制不对什么的..........

2008-3-28 15:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 24 楼』:  

如果楼主的图片中 如:0_6870-7912_071109_173933_2734.jpg

有类似0_6870-7912_071109_173933_00002734.jpg等的,就会出现楼主说的错误

2008-3-28 15:36
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 25 楼』:  



  Quote:
Originally posted by abcd at 2008-3-28 03:36 PM:
如果楼主的图片中 如:0_6870-7912_071109_173933_2734.jpg

有类似0_6870-7912_071109_173933_00002734.jpg等的,就会出现楼主说的错误

不好意思,本人的确忽略了一个很重要的问题,忘了说明了,还存在有以0开头的那种,
比如:
0_6870-7912_071109_085109_0273.jpg
0_6870-7912_071109_085112_0274.jpg
0_6870-7912_071109_085115_0275.jpg

这样的情况,第3和第4列是以0开头的了,那么运行就会出错了,说进制不对,该怎么办呢?
并且要改名以后位数不能变动哦,比如最后是4位就得是4位!!

[ Last edited by hulongzhuo on 2008-3-28 at 04:07 PM ]

2008-3-28 15:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
balinger
中级用户




积分 356
发帖 115
注册 2004-7-27
状态 离线
『第 26 楼』:  

0开头代表八进制,而八进制数里不能有8、9。

2008-3-28 15:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 27 楼』:  

我想必须先要取得第3列的文本,然后把文本转换成数值才可以相加,就不会出错,然后再把这数值转成文本,替换掉第三列,第4列亦同.
功底不行,所以只得求助于高人了~~~

2008-3-28 15:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huajinghua
初级用户





积分 54
发帖 19
注册 2008-2-24
状态 离线
『第 28 楼』:  绝对行,把他保存为BAT放在和图片同一目录下。呵呵

@echo off
echo made by 公孙轩辕 QQ:327828994.
setlocal enabledelayedexpansion
for /r  %%i in (*.jpg) do (
set b=%%~ni
for /f "delims=_  tokens=1,2,3,4,5" %%i in ("!b!") do (
set n3=%%l
set n4=%%m
set /a n3=!!n3!+1!
set /a n4=!!n4!+1!
set newname=%%i_%%j_%%k_!n3!_!n4!
)
ren "!b!.jpg"  "!newname!.bmp"
)
ren *.bmp *.jpg
pause
echo 修改成功!


=============
上段代码的*.bmp可以任意换成其他的格式,我改名是怕他在修改后有其他文件重名,所以改掉了

也可以将代码改为:
@echo off
echo made by 公孙轩辕 QQ:327828994.
setlocal enabledelayedexpansion
for /r  %%i in (*.jpg) do (
set b=%%~ni
for /f "delims=_  tokens=1,2,3,4,5" %%i in ("!b!") do (
set n3=%%l
set n4=%%m
set /a n3=!!n3!+1!
set /a n4=!!n4!+1!
set newname=%%i_%%j_%%k_!n3!_!n4!
)
ren "!b!.jpg"  "!newname!.aaa"
)
ren *.aaa *.jpg
pause
echo 修改成功!

[ Last edited by huajinghua on 2008-3-27 at 07:58 PM ]

2008-3-28 15:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huajinghua
初级用户





积分 54
发帖 19
注册 2008-2-24
状态 离线
『第 29 楼』:  

说了很简单的嘛还不相信

2008-3-28 15:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hulongzhuo
中级用户




积分 294
发帖 135
注册 2007-3-9
状态 离线
『第 30 楼』:  

不好意思,本人的确忽略了一个很重要的问题,忘了说明了,还存在有以0开头的那种,
比如:
0_6870-7912_071109_085109_0273.jpg
0_6870-7912_071109_085112_0274.jpg
0_6870-7912_071109_085115_0275.jpg

这样的情况,第3和第4列是以0开头的了,那么运行就会出错了,说进制不对,该怎么办呢?
并且要改名以后位数不能变动哦,比如最后是4位就得是4位!!

2008-3-28 16:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: