Board logo

标题: 怎么把没有扩展名的文件加上扩展名呀 [打印本页]

作者: yywd     时间: 2008-7-12 13:21    标题: 怎么把没有扩展名的文件加上扩展名呀

怎么把没有扩展名的文件加上扩展名呀 下载的s.h.e的歌曲wma文件,有的有扩展名,有的没有,怎么把没有扩展名的文件加上扩展名呀 文件如下: s.h.e-江南情怀intro s.h.e-talking Ⅱ.wma s.h.e-talking vi s.h.e-有梦有朋友.wma 江南情怀s.h.e Ⅱ 飞轮海_s.h.e-只对你有感觉 [ Last edited by yywd on 2008-7-12 at 01:37 PM ]

作者: bat-zw     时间: 2008-7-12 13:24
@echo off
for /f "delmis=" %%i in ('dir /s /a-d /b 盘符:\s.h.e*') do if "%%~xi" neq ".wma" ren "%%i" %%~ni.wma
[ Last edited by zw19750516 on 2008-7-12 at 01:45 PM ]

作者: yywd     时间: 2008-7-12 13:40
Originally posted by zw19750516 at 2008-7-12 13:24:
@echo off
for /f "delmis=" %%i in ('dir /s /a-d /b s.h.e*') do if "%%~xi" neq ".wma" ren "%%i" %%~ni.wma
谢谢您的回复, 但是好像不行呀

作者: bat-zw     时间: 2008-7-12 13:42
Originally posted by yywd at 2008-7-12 13:40: 谢谢您的回复, 但是好像不行呀
请问你是放到哪里运行的。 试试这个:
@echo off
for /r %%i in (*s.h.e*) do if "%%~xi" neq ".wma" ren "%%i" %%~ni.wma
ps:二楼的开始写错了,已修改,请楼主将盘符:改成实际的盘符。 [ Last edited by zw19750516 on 2008-7-12 at 01:47 PM ]

作者: HAT     时间: 2008-7-12 13:46
Q: 为什么不行啊? A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。

作者: yywd     时间: 2008-7-12 14:10
Originally posted by zw19750516 at 2008-7-12 13:42: 请问你是放到哪里运行的。 试试这个:
@echo off
for /r %%i in (*s.h.e*) do if "%%~xi" neq ".wma" ren "%%i" %%~ni.wma
ps:二楼的 ...
s.h.e-talking vi 改成了 s.h.wma 江南情怀s.h.e Ⅱ 改成了 江南情怀s.h.wma s.h.e-江南情怀intro 没有变

作者: hackerscans     时间: 2008-7-12 14:18
在文件夹属性里把隐藏后缀名这项去了,然后刷新下看看,是否有后缀了。向你这样音乐也有后缀名的也有没有的情况,估计是隐藏后缀名造成的。。

作者: bat-zw     时间: 2008-7-12 14:20
我明白了问题出在s.h.e中的.上面,这下总可以了吧:
@echo off&setlocal enabledelayedexpansion
for /r %%i in (*s.h.e*) do (
     set str=%%~nxi&set str=!str:s.h.e=she!
     ren "%%i" !str!
)
for /r %%i in (*she*) do if "%%~xi" neq ".wma" ren "%%i" "%%~ni.wma"
[ Last edited by zw19750516 on 2008-7-12 at 02:25 PM ]

作者: yywd     时间: 2008-7-12 14:32
Originally posted by zw19750516 at 2008-7-12 14:20: 我明白了问题出在s.h.e中的.上面,这下总可以了吧: [code] @echo off&setlocal enabledelayedexpansion for /r %%i in (*s.h.e*) do ( set str=%%~nxi&set str=!str:s.h. ...
不要把s.h.e改成she,无法关联歌词 江南情怀s.h.e Ⅱ s.h.e-talking vi 没有变动

作者: slore     时间: 2008-7-12 14:35
除了wma还有别的文件么?没有就纯dir吧没有扩展名的改了去·不要管SHE

作者: 26933062     时间: 2008-7-12 14:59
@echo off&setlocal enabledelayedexpansion
for /f "delmis=" %%i in ('dir /s /a-d /b s.h.e*') do (
   set "str=%%~nxi"
   if /i not "!str:~-4!"==".wma" ren "%%i" "%%i.wma"
)
pasue
[ Last edited by 26933062 on 2008-7-12 at 03:09 PM ]

作者: fastslz     时间: 2008-7-12 15:03
26933062

作者: fastslz     时间: 2008-7-12 15:08
26933062和我几乎同时回贴的,所以我把自己的贴删掉了,不过26933062兄修正下应该是if /i not ren 换成move /y
@echo off&setlocal enabledelayedexpansion
for /r %%i in (*s.h.e*) do (
    set "str=%%~i"
    if /i not "!str:~-4!"==".wma" move /y "%%i" "%%i.wma"
)
pause
[ Last edited by fastslz on 2008-7-12 at 03:13 PM ]

作者: 26933062     时间: 2008-7-12 15:10
多谢提醒、以改正 粗心到如此地步,不可原谅啊!。。。

作者: fastslz     时间: 2008-7-12 15:24
另外一种方法
@echo off
for /f "delims=*" %%i in ('dir /s /a-d /b *s.h.e*^|findstr /i /e /v ".wma"') do move /y "%%i" "%%i.wma"
pause

作者: mkd     时间: 2008-7-21 11:19
ren *s.h.e*. *s.h.e*.wma