中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-20 19:54
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 怎样用批处理的循环命令? 查看 1,497 回复 4
楼 主 怎样用批处理的循环命令? 发表于 2004-06-06 00:00 ·  中国 湖北 宜昌 联通
初级用户
积分 108
发帖 2
注册 2004-05-04 00:00
22年会员
UID 23745
性别 男
状态 离线
最近下载了一个命令行形式的图像格式转换工具,为了批量转换文件格式,我用for命令编写了如下的批处理文件:
for %%c in (*.jpg) do ImageConverter %%c.png
结果可以实现转换。问题是文件名全变成这种形式:***.JPG.PNG(字符全为大写)而我只想改变文件的后缀名,请问我应该怎样编写这个批处理文件?
多谢了。
2 发表于 2004-06-07 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
这跟你的转换工具有关系,你应该从转换工具的命令行入手解决这个问题。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 用FOR实现批量转换 发表于 2004-06-08 00:00 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re dos@fans:

  你的命令行用法似乎有问题,类似于这类的软件一般需要两个参数,但是你只给ImageConverter提供了一个参数。是不是少些了一个%%C?类似于下面的语句:
  for %%c in (*.jpg) do ImageConverter %%c %%c.png

  如果是这样,问题就不难理解了。FOR解析*.jpg的参数时,缺省的将文件扩展名也赋予了%%C。如果你的系统是2k,XP,可以利用FOR的参数开关来仅仅解析文件的主文件名,具体参数请用FOR/?查询;如果你的系统是9x系列,可以在执行循环后,再执行以下两句代码恢复扩展名。
  ren *.png *.
  ren *.jpg *.png
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
4 发表于 2004-06-11 00:00 ·  中国 湖北 宜昌 联通
初级用户
积分 108
发帖 2
注册 2004-05-04 00:00
22年会员
UID 23745
性别 男
状态 离线
多谢指教
能不能解释一下ren命令的这种用法?


5 发表于 2004-06-11 00:00 ·  中国 广东 广州 天河区 电信
中级用户
积分 218
发帖 30
注册 2004-06-07 00:00
22年会员
UID 26187
性别 女
状态 离线
ren就是给文件改名吧,
ren 源文件名 目的文件名 就OK了.
日复一日 水滴石穿
今日菜鸟 明日人物
信不?????????
论坛跳转: