标题: 怎么把没有扩展名的文件加上扩展名呀
[打印本页]
作者: 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