Board logo

标题: for 循环中文件扩展名的开关问题 [打印本页]

作者: bigcarp     时间: 2007-1-15 10:41    标题: 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/?查询
作者: lxmxn     时间: 2007-1-15 12:26

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

作者: bigcarp     时间: 2007-1-16 03:13
thanks!