Board logo

标题: 如何将两个后缀的扩展名改成一个??如*.avi.rmvb 改成*.flv [打印本页]

作者: xlfj521     时间: 2007-4-21 03:08    标题: 如何将两个后缀的扩展名改成一个??如*.avi.rmvb 改成*.flv

如何将两个后缀的扩展名改成一个??如*.avi.rmvb 改成*.flv
作者: everest79     时间: 2007-4-21 03:13
你重复发贴
作者: flyinspace     时间: 2007-4-21 03:21    标题: 以下代码放在需要改名的文件夹内执行。

@echo off & setlocal enabledelayedexpansion
for /f "tokens=* " %%i in ('dir /b ^| findstr /i "avi.rmvb"') do (
         set filename=%%i
         set filename=!filename: =_-!
         for /f "tokens=1,2,3 delims=. " %%i in ("!filename!") do set filename=%

%i.flv
         set filename=!filename:_-= !
         ren "%%i" "!filename!"
        )
pause

呵,我还不是高手,写的代码太长了。。别见怪。
作者: lotus516     时间: 2007-4-22 01:39

@echo off & setlocal enabledelayedexpansion
for /f "tokens=* " %%i in ('dir /b ^| findstr /i "avi.rmvb"') do (
         set str=%%i
         set filename=!%str:~0,-8!
         ren "%%i" "!filename!".flv
        )
pause

作者: zh159     时间: 2007-4-22 01:47
楼上的全错了,在别的帖子里,LZ要求的是将*.rmvb 视频格式转换为*.flv格式
作者: 3742668     时间: 2007-4-22 01:49

@echo off
    for %%i in (*.avi.rmvb) do call :Print "%%~ni"
    pause
goto :Eof

:Print
    echo %~n1.flv
goto :Eof
长时间不写批处理,感觉陌生了许多。
如果执行后打印的结果无误的话可以尝试传递%%i给:Print当作%2,然后更改echo为ren
作者: zh159     时间: 2007-4-22 01:53
LS的看看 5 楼

再看看这贴
http://www.cn-dos.net/forum/viewthread.php?tid=29891
作者: 3742668     时间: 2007-4-22 02:01
何必那么着相呢?
主要讨论思路而已。
再说无非就是把ren/echo替换换成mencoder.exe -ffourcc FLV1 -of lavf -lavfopts ……之类的命令罢了。