中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 02:12
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » for 循环中文件扩展名的开关问题
可打印版本  976 / 2
第1楼 bigcarp 发表于 2007-01-15 10:41
初级用户 发帖 6 积分 21
for 循环中文件扩展名的开关问题
我要显示当前目录下所有jpg文件的文件名可以使用如下语句:
for %i in (*.jpg) do @echo %i

但我只想显示主文件名(不显示扩展名".jpg"),请问加入什么参数开关可以实现?


这个问题在一张旧贴中曾经提到,但没有讲是什么参数,我自己看help也查不到:
http://www.cn-dos.net/forum/viewthread.php?tid=12113

原文大意:
for %%c in (*.jpg) do ImageConverter %%c %%c.png
可以实现转换。问题是文件名全变成这种形式:***.JPG.PNG(字符全为大写)而我只想改变文件的后缀名,请问我应该怎样编写这个批处理文件?

willsort解答:
  如果是这样,问题就不难理解了。FOR解析*.jpg的参数时,缺省的将文件扩展名也赋予了%%C。如果你的系统是2k,XP,可以利用FOR的参数开关来仅仅解析文件的主文件名,具体参数请用FOR/?查询
第2楼 lxmxn 发表于 2007-01-15 12:26
版主 发帖 4,938 积分 11,386
第3楼 bigcarp 发表于 2007-01-16 03:13
初级用户 发帖 6 积分 21
thanks!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023