主题 : [分享]LAME 批量转换的批处理文件
harlay
级别: 模拟之星
UID: 25
精华: 0
发帖: 1677
威望: 0 星
金钱: 2966 浮游币
贡献值: 0 点
好评度: 366 点
人气: 0 点
在线时间: 94(时)
注册时间: 2004-03-24
最后登录: 2024-05-29
楼主  发表于: 2004-08-08 00:56

[分享]LAME 批量转换的批处理文件

本来偶没有想过要写介段程序滴,但是看了论坛的一个贴子,偶才开始写介个东东。
相关贴子:http://bbs.chinaemu.cn/index.php?showtopic=12375

功能:
1、可以将当前目录下的 *.mp3 文件 解压为 *.wav 文件或 *.wav 文件压缩为 *.mp3 文件。
2、可以选择转换完以后是否删除原文件。
3、用户可以根据需要,妆Ρπ更改 mp3 文件的压缩参数。默认为 VBR 最好的压缩方式。详细更改方法见附录。
注:本程序只可在 WINXP 及其以上的操作系统下使用。不支持纯 DOS。WIN98 也许也不支持。

代码
@echo off
set /p en=请输入您要转换的原文件的扩展名 (mp3 or wav):
set /p del=转换完毕后是否要删除原文件? (y or n):
if not exist *.%en% goto err1
if /i %en%==mp3 goto mp3
if /i %en%==wav goto wav
goto err2

:mp3
for %%c in (*.mp3) do lame.exe --decode "%%c"
if /i %del%==y del *.mp3
md tmp123
move *.wav tmp123>nul
cd tmp123
for %%c in (*) do ren "%%c" *.
for %%c in (*) do ren "%%c" *.
for %%c in (*) do ren "%%c" *.wav
move *.* ..>nul
cd..
rd tmp123
echo 文件转换完毕。
goto end

:wav
for %%c in (*.wav) do lame.exe --preset extreme "%%c"
if /i %del%==y del *.wav
md tmp123
move *.mp3 tmp123>nul
cd tmp123
for %%c in (*) do ren "%%c" *.
for %%c in (*) do ren "%%c" *.
for %%c in (*) do ren "%%c" *.mp3
move *.* ..>nul
cd..
rd tmp123
echo 文件转换完毕。
goto end

:err1
echo 没有找到您要转换的文件 (*.%en%)。
goto end

:err2
echo 请输入 mp3 或 wav。
goto end

:end
set en=
set del=

使用方法:
1、对于会 DOS 命令的用户来说。可以将本 BAT 文件和 LAME.EXE 文件放在一起,然后在 PATH 中指定 LAME.EXE 所在的目录。最后在要转换的目录下输入 LAMEC 即可。
2、对于不熟悉 DOS 命令的用户来说。可以将本 BAT 文件和 LAME.EXE 文件复制到要转换的文件夹下,双击 LAMEC.BAT 文件即可。

附录:
将以上“for %%c in (*.wav) do lame.exe --preset extreme "%%c"”中的“--preset extreme”更改为您想要使用的压缩参数即可。

注意:
1、要转换的文件夹下最好不要同时存在 MP3 和 WAV 文件。不然可以会造成文件丢失。
2、请在您自己的意愿下使用本程序,使用本程序造成的任何不良后果,本人不负任何责任。

附件为已写好的程序。可以直接使用。
女王亲卫队暗部
级别: 模拟天才
UID: 402
精华: 6
发帖: 3529
威望: 8 星
金钱: 23 浮游币
贡献值: 7 点
好评度: 6103 点
人气: 10 点
在线时间: 283(时)
注册时间: 2004-03-26
最后登录: 2017-10-21
沙发  发表于: 2004-08-08 03:16

晕~楼主强人啊!收了!嘿嘿。。。。