Board logo

标题: 请教:批处理改文件名"*.exe" 为 "*.ex". [打印本页]

作者: mf008     时间: 2007-1-14 09:38    标题: 请教:批处理改文件名"*.exe" 为 "*.ex".
:o
怎样使d:里所有的 exe为后缀名的文件改为ex后缀名的文件?

小生是菜,望各位大虾指教下.谢谢

作者: namejm     时间: 2007-1-14 10:02
  ren *.exe *.ex

作者: mf008     时间: 2007-1-14 10:09    标题: 没有回答完我的问题
我说的是D盘里所有的exe文件.包括子文件夹里的.

作者: dikex     时间: 2007-1-14 10:13
for /f "delims=" %%i in ('dir d:\*.exe /s /a /b') do ren "%%i" "%%~ni.ex"

作者: mf008     时间: 2007-1-14 10:32    标题: 谢谢.
谢谢.谢谢四楼. 同样谢谢二楼.

作者: beeny     时间: 2007-1-14 11:23
%%~ni
我刚在学DOS想问一下这 个是什么意思!就这句看不懂!

作者: Eblis     时间: 2007-1-14 11:29
将变量i扩展到文件名..

作者: ytfsse     时间: 2007-1-15 10:15
有这样的扩展名吗

作者: GOTOmsdos     时间: 2007-1-15 10:39
不到万不得已的时候,最好不要用delims和dir之类的截取屏幕输出,一来效率较低,二来也容易错,楼主的问题关键就是用 FOR /R 参数:
如下就可以了:(实际上delims和dir的使用是多余的)
C:>for /r d: %a in (*.exe) do if exist %a rename %a %~na.ex

Last edited by GOTOmsdos on 2007-1-15 at 10:54 AM ]

作者: 86763510     时间: 2007-3-25 06:56
9楼的朋友你的方法还是不行,我试过了

作者: step2step     时间: 2007-6-4 15:14
Originally posted by 86763510 at 2007-3-25 06:56 AM:
9楼的朋友你的方法还是不行,我试过了

我试过了,是可以的,如果在批处理下用要把%变成%%