中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for 循环中文件扩展名的开关问题
作者:
标题: for 循环中文件扩展名的开关问题 上一主题 | 下一主题
bigcarp
初级用户





积分 21
发帖 6
注册 2006-12-17
状态 离线
『楼 主』:  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/?查询

2007-1-15 10:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


for %i in (*.jpg) do @echo 文件名:%~ni,扩展名:%~xi


2007-1-15 12:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bigcarp
初级用户





积分 21
发帖 6
注册 2006-12-17
状态 离线
『第 3 楼』:  

thanks!

2007-1-16 03:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: