注册
登录
论坛
搜索
帮助
导航
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
批处理之家
»
BAT求助&讨论
» 图片批量重命名的批处理为何把某些图片重复改名?
[新手上路]
批处理新手入门导读
[视频教程]
批处理基础视频教程
[视频教程]
VBS基础视频教程
[批处理精品]
批处理版照片整理器
[批处理精品]
纯批处理备份&还原驱动
[批处理精品]
CMD命令50条不能说的秘密
[在线下载]
第三方命令行工具
[在线帮助]
VBScript / JScript 在线参考
返回列表
发帖
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2010-4-26 08:09
|
显示全部帖子
[文件操作]
图片批量重命名的批处理为何把某些图片重复改名?
[已解决]
下面是本人仿编的一段“批量改图片文件名”的代码,发现有一点小问题,恳请各位指正!!
@echo off
set num=0
for %%i in (*.jpg) do call :rn "%%i"
echo 成功!
pause
:rn
set fn=%~1
set /a num+=1
ren %1 img%num%.jpg
[
本帖最后由 tv5188 于 2010-4-28 07:33 编辑
]
收藏
分享
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
2
楼
发表于 2010-4-26 09:00
|
显示全部帖子
回复 2楼 的帖子
谢谢!!fn确实没用,%1是接受的参数,用它没有问题。
我出的问题是,改名到最后一个都没问题,当完成时“img1.jpg”又被改了,然后才完成。也就是说for多循环了一次才完!
TOP
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
3
楼
发表于 2010-4-26 09:12
|
显示全部帖子
回复 4楼 的帖子
谢谢!这段代码没试过,不过感觉是对的,因为do ( ),我原先仿的就是这样的,只不过是批量去掉空格。只是我仿编的出的问题的机制还是不明白!
TOP
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
4
楼
发表于 2010-4-26 09:17
|
显示全部帖子
回复 5楼 的帖子
我在win7下处理5张图片时,没错。当较多时,如50张时,运行批处理后,没有img1.jpg,再运行有img1.jpg 但少了另一个(如img17.jpg,当然总的图片数没错)。再运行,缺的那一个又变了。(win7环境)
TOP
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
5
楼
发表于 2010-4-26 09:21
|
显示全部帖子
回复 7楼 的帖子
强!有道理,学习了,看来还是要用'dir',只是我那段代码问题出在哪里呢?
TOP
tv5188
发短消息
加为好友
tv5188
当前离线
UID
18766
帖子
6
精华
0
积分
118
PB
118
技术
0
捐助
0
阅读权限
20
在线时间
3 小时
注册时间
2009-10-26
最后登录
2010-4-29
一级士官
帖子
6
积分
118
技术
0
捐助
0
注册时间
2009-10-26
6
楼
发表于 2010-4-27 07:23
|
显示全部帖子
回复 10楼 的帖子
本帖的核心问题是:在利用CALL语句时,FOR好像多循环了一次。
TOP
返回列表
Python
第三方命令行
VBS求助&讨论
批处理专区: BAT CMD DOS
BAT求助&讨论
BAT教程&资料
BAT原创&转载
BAT新大陆
BAT转载代码
新手练功
出题挑战
有偿求助
第三方命令行
开源原创工具
iBAT
Take Command
其他脚本区
PowerShell求助&讨论
PowerShell教程&资料
PowerShell原创&转载
VBS求助&讨论
JS / JScript / JavaScript
VBS教程&资料
VBS原创&转载
UNIX/Linux Shell
Python
Perl
网络资源区
电脑技术研讨
精品软件交流
论坛事务区
站务交流
意见反馈
论坛公告
版主申请
交换链接
建站杂谈
活动专区
论坛总版规
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]