[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] mp3压制工具lamecmd4.1(初始最终版)

本帖最后由 csydown 于 2013-3-8 14:12 编辑

由于我的论坛彻底倒闭,已经没有任何心思再编程了,这个压制程序在我的编辑下也是最后一个版本了。希望有缘人能够将这个程序完善下去,不需保留任何版权信息,欢迎随意修改。
这是个音乐压制程序,最初用于我的论坛,能自动解包下载的音频压缩包,压制mp3、wav、flac、ape、tak、tta、wv、mpc、aac、m4a、wma、ogg、ac3音频文件至mp3文件,可自动加载cue分割器,排序专辑图片,写入idc3,并生成身份卡和自动打包压制后专辑。程序源码请教过论坛的各位大神,也学习了很多,还使用了Demon提供的代码。程序包中的fmt格式都是exe,都是些不错的解码器和压制程序,欢迎下载。
文件源码很简单,当然我也是新手,如果代码有错误或繁琐请见谅!这是我唯一一个可以拿得出手的程序,也希望我退出资源论坛行业后能有人继续将这程序延续下去。在此感谢大家!!

程序说明:
lamecmd
秋空映画(xxcv.net)自用音频压制工具
4.1(2013.02.23)
修正输入冲突
4.0(2013.02.06)
优化解包路径
增加错误判断
3.0(2013.02.03)
开发成员更换
全新编码核心
判断逻辑优化
增加大量格式
2.0(2012.12.16)
增加文件解压
支持自装模块
1.0(2012.12.08)
增加图片压缩
增加文件打包
0.0(2012.05.01)
程序正式发布
程序源码:
  1. @echo off
  2. :0
  3. cls.
  4. title lamecmd by xxcv.net
  5. echo 文件放入input目录,压制时停止其它操作
  6. start input
  7. pause>nul
  8. attrib -r -a -s -h /S /D
  9. rar e -ai -ep -y input\*.* input\xxcv\
  10. rar e -ai -ep -y input\xxcv\*.* input\xxcv\
  11. move input\xxcv\*.* input\
  12. rd /s /q input\xxcv
  13. cd input
  14. setlocal enabledelayedexpansion
  15. for /f "delims=" %%a in ('dir /b *.*') do (
  16.     set str=%%a
  17.     set str=!str:?=_!
  18.     ren "%%a" "!str!"
  19. )
  20. setlocal disabledelayedexpansion
  21. cd ..
  22. for %%c in (input\*.flac) do (formats\flac.xmt -d -f "%%c")
  23. move /y input\*.flac temp\
  24. for %%c in (input\*.ape) do (formats\ape.xmt "%%c" "%%c.wav" -d)
  25. move /y input\*.ape temp\
  26. for %%c in (input\*.tak) do (formats\tak.xmt -d "%%c")
  27. move /y input\*.tak temp\
  28. for %%c in (input\*.tta) do (formats\tta.xmt -d "%%c")
  29. move /y input\*.tta temp\
  30. for %%c in (input\*.wv) do (formats\wv.xmt -d "%%c" "%%c.wav")
  31. move /y input\*.wv temp\
  32. for %%c in (input\*.mpc) do (formats\mpc.xmt "%%c" "%%c.wav")
  33. move /y input\*.mpc temp\
  34. for %%c in (input\*.aac) do (formats\aac.xmt -q "%%c")
  35. move /y input\*.aac temp\
  36. for %%c in (input\*.mp4) do (formats\aac.xmt -q "%%c")
  37. move /y input\*.mp4 temp\
  38. for %%c in (input\*.m4a) do (formats\aac.xmt -q "%%c")
  39. move /y input\*.m4a temp\
  40. for %%c in (input\*.wma) do (formats\wma.xmt "%%c" "%%c.wav")
  41. move /y input\*.wma temp\
  42. for %%c in (input\*.ogg) do (formats\ogg.xmt -q "%%c")
  43. move /y input\*.ogg temp\
  44. for %%c in (input\*.ac3) do (formats\ac3.xmt "%%c" "%%c.wav")
  45. move /y input\*.ac3 temp\
  46. move /y *.wav input\
  47. md input\xxcv
  48. for %%c in (input\*.ape.wav) do move /y "%%c" input\xxcv\
  49. for %%c in (input\*.tta.wav) do move /y "%%c" input\xxcv\
  50. for %%c in (input\*.wv.wav) do move /y "%%c" input\xxcv\
  51. for %%c in (input\*.mpc.wav) do move /y "%%c" input\xxcv\
  52. for %%c in (input\*.wma.wav) do move /y "%%c" input\xxcv\
  53. for %%c in (input\*.ac3.wav) do move /y "%%c" input\xxcv\
  54. rename "input\xxcv\*.wav" "*.."
  55. rename "input\xxcv\*.*" "*.wav"
  56. move input\xxcv\*.* input\
  57. rd /s /q input\xxcv
  58. if exist input\*.cue (goto 1) else (goto 2)
  59. :1
  60. cls.
  61. set qnum=0
  62. for /f %%i in ('dir /b input\*.wav') do set /a qnum+=1
  63. if %qnum% geq 2 goto 2
  64. rename "input\*.wav" "cd.wav"
  65. rename "input\*.cue" "*.."
  66. del /f /s /q input\*.flac
  67. del /f /s /q input\*.ape
  68. del /f /s /q input\*.tak
  69. del /f /s /q input\*.tta
  70. del /f /s /q input\*.wv
  71. del /f /s /q input\*.mpc
  72. del /f /s /q input\*.aac
  73. del /f /s /q input\*.mp4
  74. del /f /s /q input\*.m4a
  75. del /f /s /q input\*.wma
  76. del /f /s /q input\*.ogg
  77. del /f /s /q input\*.ac3
  78. rename "input\*.." "cd.cue"
  79. formats\fix.xmt input\cd.cue
  80. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter" /v "FirstTimeAssociation" /t "reg_dword" /d "00821760" /f
  81. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Config" /v "DirLast" /t "reg_dword" /d "00000000" /f
  82. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Config" /v "DirNone" /t "reg_dword" /d "00000000" /f
  83. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Config" /v "DirPath" /t "reg_dword" /d "00000001" /f
  84. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Config" /v "DirPathAsk" /t "reg_dword" /d "00000000" /f
  85. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Config" /v "DirPathValue" /t "reg_sz" /d "%cd%\input" /f
  86. reg add "HKEY_CURRENT_USER\Software\Medieval\CUE Splitter\Main" /v "FileMask" /t "reg_dword" /d "00000001" /f
  87. cls.
  88. echo 选择“cd.wav”,点击“split”,完成后关闭
  89. formats\cue.xmt input\cd.cue
  90. move /y input\cd.wav temp\
  91. :2
  92. cls.
  93. start ctfmon.exe
  94. set website=xxcv.net
  95. set /p album=名称:
  96. set /p namebak=原名:
  97. set /p author=作者:
  98. set /p year=年份:
  99. echo 1.无误 2.有误
  100. set /p a= 选择:
  101. if "%a%"=="" goto 2
  102. if "%a%"=="1" goto 3
  103. if "%a%"=="2" goto 2
  104. goto 2
  105. :3
  106. cls.
  107. md output\%album%
  108. for %%c in (input\*) do formats\mp3.xmt --preset extreme "%%c" "%%c"xxcv --ta "%author%" --tl "%album%" --ty "%year%" --tc "%website%"
  109. rename "input\*.jpg" "*.jpeg"
  110. formats\pic.xmt input bmp jpg
  111. formats\pic.xmt input dib jpg
  112. formats\pic.xmt input jpeg jpg
  113. formats\pic.xmt input jpe jpg
  114. formats\pic.xmt input jfif jpg
  115. formats\pic.xmt input gif jpg
  116. formats\pic.xmt input tif jpg
  117. formats\pic.xmt input tiff jpg
  118. formats\pic.xmt input png jpg
  119. move /y input\*.jpg output\%album%\
  120. cd output\%album%
  121. set picnum=1
  122. setlocal enabledelayedexpansion
  123. for /f "delims=" %%i in ('dir /b *.*') do (ren "%%i" "插图!picnum!.*"
  124. set /a picnum+=1)
  125. setlocal disabledelayedexpansion
  126. cd ..
  127. cd ..
  128. move /y input\*.mp3xxcv output\%album%\
  129. move /y input\*.wavxxcv output\%album%\
  130. move /y input\*.* temp\
  131. rename "output\%album%\*.mp3xxcv" "*.mp3"
  132. rename "output\%album%\*.wavxxcv" "*.mp3"
  133. move /y output\%album%\*.mp3 input\
  134. echo 名称:%album%>>output\%album%\身份卡.txt
  135. echo 原名:%namebak%>>output\%album%\身份卡.txt
  136. echo 作者:%author%>>output\%album%\身份卡.txt
  137. echo 年份:%year%>>output\%album%\身份卡.txt
  138. echo 发布:%website%>>output\%album%\身份卡.txt
  139. echo 曲目:>>output\%album%\身份卡.txt
  140. dir input /b>>output\%album%\身份卡.txt
  141. move /y input\*.* output\%album%\
  142. :4
  143. cls.
  144. for %%i in (output\%album%\*.mp3) do (if %%~zi lss 102400 echo %%i可能有误)
  145. echo 1.查看成品
  146. echo 2.打包压缩
  147. echo 3.查看缓存
  148. echo 4.清空缓存
  149. echo 0.新的任务
  150. set /p b= 选择:
  151. if "%b%"=="" goto 4
  152. if "%b%"=="1" goto b1
  153. if "%b%"=="2" goto b2
  154. if "%b%"=="3" goto b3
  155. if "%b%"=="4" goto b4
  156. if "%b%"=="0" goto b0
  157. goto 4
  158. :b1
  159. start output
  160. goto 4
  161. :b2
  162. rar a output\%album%(%website%).rar c -zoutput\%album%\身份卡.txt -ep1 -r -s output\%album%
  163. goto 4
  164. :b3
  165. start temp
  166. goto 4
  167. :b4
  168. del /f /s /q temp\*.*
  169. goto 4
  170. :b0
  171. goto 0
复制代码
程序下载:http://pan.baidu.com/share/link?shareid=398278&uk=874661367

那么在此退出互联网资源界,本人账号全部作废,如有问题烦请请教论坛各位,本人无法解答,十分抱歉!

感谢分享

TOP

代码的重复执行太多了。改成下面这样如何?

for %%c in (*.flac *.ape *.etc) do (
set filepath=%%~fc
set filename=%%~nc
call:%~xc
)

:.flac
formats\flac.xmt -d -f "%filepath%"
goto:eof

:.ape
formats\ape.xmt "%filepath%" "%filename%.wav" -d
goto:eof

TOP

返回列表