中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-16 17:36
47,813 主题排行 / 349,903 发帖 / 今日 0 篇 / 48,259 会员排行
DOS疑难解答 & 问题讨论 (解答室) » 怎样用批处理的循环命令?
可打印版本  1,560 / 4
第1楼 dos@fans 发表于 2004-06-06 00:00
初级用户 发帖 2 积分 108
怎样用批处理的循环命令?
最近下载了一个命令行形式的图像格式转换工具,为了批量转换文件格式,我用for命令编写了如下的批处理文件:
for %%c in (*.jpg) do ImageConverter %%c.png
结果可以实现转换。问题是文件名全变成这种形式:***.JPG.PNG(字符全为大写)而我只想改变文件的后缀名,请问我应该怎样编写这个批处理文件?
多谢了。
第2楼 Climbing 发表于 2004-06-07 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
这跟你的转换工具有关系,你应该从转换工具的命令行入手解决这个问题。
第3楼 willsort 发表于 2004-06-08 00:00
元老会员 发帖 1,512 积分 4,432
用FOR实现批量转换
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
第4楼 dos@fans 发表于 2004-06-11 00:00
初级用户 发帖 2 积分 108
多谢指教
能不能解释一下ren命令的这种用法?


第5楼 人物菜鸟 发表于 2004-06-11 00:00
中级用户 发帖 30 积分 218
ren就是给文件改名吧,
ren 源文件名 目的文件名 就OK了.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023