elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [ Batch ] Preguntas y ayuda para corregir mi script...
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [ Batch ] Preguntas y ayuda para corregir mi script...  (Leído 6,103 veces)
SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
[ Batch ] Preguntas y ayuda para corregir mi script...
« en: 20 Marzo 2011, 12:57 pm »

Hola, ya he acabado mi script, le faltarían 2 cosas que me gustaría añadirle que ahora comentaré, pero eso solo son "florituras" xD, así que lo doy por terminado...

Sin la ayuda de Leo y otros que me han ayudado con sus respuestas no habría podido terminarlo, aunque no es gran cosa seguro que más de uno lo habría acabado en un solo día xD, pero bueno, yo voy aprendiendo de los mejores :P.

Me gustaría si alguien tiene tiempo se mirase de rehojo mi script, para ver si encuentran algún error, o si se pudiera mejorar (Eliminar variables inservibles, , hacerlo más simple, añadirle algo más, etc... o que se yo xD) Incluso aunque sea cambiarle el nombre xD, Cualquier cosa se agradece!


La verdad es que me ha quedado bastante bien, más o menos como a mi me gusta:



Se que no tiene mérito, porque el DbPowerAmp no lo he echo yo, pero esto me va a ahorrar años de trabajo manual con el PC... xD

Como ya he dicho, aún le faltan las "florituras", cosas que sigo notanco imperfectas en el script,algunas más importantes que otras, así que de paso,para no tener que hacer 70 posts más, os hago algunas pregunas a ver si alguien me contesta... (No hace falta ni decir que ya he buscado información acerca de todo esto, pero...)



1. - ¿Como ejecuto mi script correctamente desde el registro? Si, lo que quiero decir es que, me gustaría usarlo pinchando click derecho en una carpeta por ejemplo, con una opcion agregada al registro... de echo YA LO TENGO CONFIGURADO ASÍ, pero, el programa creo que me muestra información en ANSI y no me funciona correctamente por que por ejemplo me busca el archivo "mp3 (lame).dll" pero todo separado, asi: " M P 3  ( L A M E ) " y con renombrar el codec no me ha servido, porque hay un espacio entre las comillas... :(            (Uso Windows 7)



2. - ¿Que puedo hacer mediante el CMD, para saber la longitud de letras que tiene el nombre de un archivo? Pues eso, ese dato me serviria mucho porque hay casos en que el nombre del archivo es demasiado largo y entonces "no entra" en la ventana de mi script, entonces, me gustaría recortar SOLO los nombres que tengan mayor longitud de 70 caracteres, por ejemplo.



3. - ¿Existe alguna barra de progresso que pueda usar con mi script? Es que no me gusta nada que salga el titulo del "dbpoweramp" y su barra de progreso no me gusta tampoco, el programa se puede usar en modo silencioso con el comando "-silent" (Por si sirve de algo...) Tampoco me gusta que me de información sobre el archivo de destino... eso no se podrá ocultar de algún modo, verdad?



GRACIAS A TODOS LOS QUE HAYAN LEIDO HASTA AQUI :P





El Script:


Código
  1. @echo off
  2. Title=Audio Bitrate Changer
  3. Mode con cols=20 lines=3
  4. Color 7
  5.  
  6. Set Centrar=Nircmd win center ititle "Audio Bitrate Changer"
  7. Set Lista=%Temp%\Lista.txt
  8. Set Num=0
  9. Set Rate=0
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20. :START
  21. If exist %lista% (
  22. Del /q %Lista% >nul 2>&1
  23. )
  24. echo+ & %centrar%
  25. Colous cursoroff
  26. Colous writesec "[7] Buscando audios" & sleep 1 & cls & echo+
  27. Colous writesec "[7] Buscando audios." & sleep 1 & cls & echo+
  28. Colous writesec "[7] Buscando audios.." & sleep 1 & cls & echo+
  29. Colous writesec "[7] Buscando audios..." & sleep 1
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. dir /B *.aif >nul 2>&1
  43. IF %ERRORLEVEL% EQU 0 (
  44. call :FIND_AIF
  45. )
  46.  
  47. dir /B *.flac >nul 2>&1
  48. IF %ERRORLEVEL% EQU 0 (
  49. call :FIND_FLAC
  50. )
  51.  
  52. dir /B *.m4a >nul 2>&1
  53. IF %ERRORLEVEL% EQU 0 (
  54. call :FIND_M4A
  55. )
  56.  
  57. dir /B *.ogg >nul 2>&1
  58. IF %ERRORLEVEL% EQU 0 (
  59. call :FIND_OGG
  60. )
  61.  
  62. dir /B *.wav >nul 2>&1
  63. IF %ERRORLEVEL% EQU 0 (
  64. call :FIND_WAV
  65. )
  66.  
  67. dir /B *.wma >nul 2>&1
  68. IF %ERRORLEVEL% EQU 0 (
  69. call :FIND_WMA
  70. )
  71.  
  72.  
  73. dir /B *.mp3 >nul 2>&1
  74. IF %ERRORLEVEL% EQU 0 (
  75. goto:FIND_MP3
  76. )
  77.  
  78. goto :END
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. :SEARCH
  90.  
  91. :FIND_AIF
  92. for /f "tokens=*" %%a in ('dir /B *.aif') do (
  93. cls
  94. set nombre=%%a
  95. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  96. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  97. call :Sizer
  98. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  99. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6....." >nul
  100. call :AIF
  101. )
  102. goto:eof
  103.  
  104.  
  105. :FIND_FLAC
  106. for /f "tokens=*" %%a in ('dir /B *.flac') do (
  107. cls
  108. set nombre=%%a
  109. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  110. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  111. call :Sizer
  112. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  113. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "2..... 3..... 4..... 5..... 6..... 7..... 8..... 9..... 1...... 2......" >nul
  114. call :FLAC
  115. )
  116. goto:eof
  117.  
  118.  
  119. :FIND_M4A
  120. for /f "tokens=*" %%a in ('dir /B *.m4a') do (
  121. cls
  122. set nombre=%%a
  123. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  124. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  125. call :Sizer
  126. Call :SIZER_SMALL
  127. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  128. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9....." >nul
  129. call :M4A
  130. )
  131. goto:eof
  132.  
  133.  
  134. :FIND_OGG
  135. for /f "tokens=*" %%a in ('dir /B *.ogg') do (
  136. cls
  137. set nombre=%%a
  138. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  139. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  140. call :Sizer
  141. Call :SIZER_SMALL
  142. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  143. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9....." >nul
  144. call :OGG
  145. )
  146. goto:eof
  147.  
  148.  
  149. :FIND_WAV
  150. for /f "tokens=*" %%a in ('dir /B *.wav') do (
  151. cls
  152. set nombre=%%a
  153. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  154. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  155. call :Sizer
  156. call :sizer_WAVE
  157. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  158. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7..... 8..... 9..... 1...... 2......" >nul
  159. call :WAV
  160. )
  161. goto:eof
  162.  
  163.  
  164. :FIND_WMA
  165. for /f "tokens=*" %%a in ('dir /B *.wma') do (
  166. cls
  167. set nombre=%%a
  168. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  169. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  170. call :Sizer
  171. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  172. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6..... 7....." >nul
  173. call :WMA
  174. )
  175. goto:eof
  176.  
  177.  
  178. :FIND_MP3
  179. for /f "tokens=*" %%a in ('dir /B *.mp3') do (
  180. cls
  181. set nombre=%%a
  182. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
  183. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
  184. call :Sizer
  185. Call :SIZER_SMALL
  186. for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
  187. mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3....." >nul
  188. call :MP3
  189. )
  190. Goto :END
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201. :CONVERT
  202.  
  203. :AIF
  204. IF %ERRORLEVEL% GEQ 1 goto:eof
  205. IF %ERRORLEVEL% EQU 0 (
  206. title="Convirtiendo: %nombre%"
  207. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  208. cls
  209. set /a num+=1
  210. echo+ "%nombre%">> %lista% & echo+
  211. Colous writesec "[7]Convirtiendo el audio:" & echo+
  212. Colous writesec "[8] %nombre%" & echo+
  213. Colous writesec "[7] Bitrate :[12] %RATE%"
  214. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  215. Colous writesec "[7] Duracion: %Time%"
  216. Colous writesec "[8]=================================="
  217. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  218. Colous writesec "[7] Nuevo Formato: [2]MP3"
  219. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  220. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  221. Colous writesec "[8]__________________________________________________________________"
  222. coreconverter.exe -infile="%nombre:~0,-4%.aif" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  223. Title=Audio Bitrate Changer
  224. find /v "error" "%temp%\%nombre%.txt" >nul
  225. Call :Error
  226. del /q "%temp%\%nombre%.txt"
  227. del /q "%nombre%"
  228. sleep 2
  229. goto:eof
  230. )
  231.  
  232.  
  233.  
  234. :FLAC
  235. IF %ERRORLEVEL% GEQ 1 goto:eof
  236. IF %ERRORLEVEL% EQU 0 (
  237. title="Convirtiendo: %nombre%"
  238. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  239. cls
  240. set /a num+=1
  241. echo+ "%nombre%">> %lista% & echo+
  242. Colous writesec "[7]Convirtiendo el audio:" & echo+
  243. Colous writesec "[8] %nombre%" & echo+
  244. Colous writesec "[7] Bitrate :[12] %RATE%"
  245. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  246. Colous writesec "[7] Duracion: %Time%"
  247. Colous writesec "[8]=================================="
  248. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  249. Colous writesec "[7] Nuevo Formato: [2]MP3"
  250. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  251. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  252. Colous writesec "[8]__________________________________________________________________"
  253. coreconverter.exe -infile="%nombre:~0,-5%.flac" -outfile="%nombre:~0,-5%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  254. Title=Audio Bitrate Changer
  255. find /v "error" "%temp%\%nombre%.txt" >nul
  256. Call :Error
  257. del /q "%temp%\%nombre%.txt"
  258. del /q "%nombre%"
  259. sleep 2
  260. goto:eof
  261. )
  262.  
  263. :M4A
  264. IF %ERRORLEVEL% GEQ 1 goto:eof
  265. IF %ERRORLEVEL% EQU 0 (
  266. title="Convirtiendo: %nombre%"
  267. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  268. cls
  269. set /a num+=1
  270. echo+ "%nombre%">> %lista% & echo+
  271. Colous writesec "[7]Convirtiendo el audio:" & echo+
  272. Colous writesec "[8] %nombre%" & echo+
  273. IF %RATE:~0,-5% GEQ 193 (
  274. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  275. ) ELSE (
  276. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  277. )
  278. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  279. Colous writesec "[7] Duracion: %Time%"
  280. Colous writesec "[8]=================================="
  281. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  282. Colous writesec "[7] Nuevo Formato: [2]MP3"
  283. IF %RATE:~0,-5% LEQ 192 (
  284. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  285. ) ELSE (
  286. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  287. )
  288. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  289. Colous writesec "[8]__________________________________________________________________"
  290. coreconverter.exe -infile="%nombre:~0,-4%.m4a" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  291. Title=Audio Bitrate Changer
  292. find /v "error" "%temp%\%nombre%.txt" >nul
  293. Call :Error
  294. del /q "%temp%\%nombre%.txt"
  295. del /q "%nombre%"
  296. sleep 2
  297. goto:eof
  298. )
  299.  
  300. :MP3
  301.  
  302. IF %ERRORLEVEL% GEQ 1 goto:eof
  303. IF %ERRORLEVEL% EQU 0 (
  304. title="Convirtiendo: %nombre%"
  305. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  306. cls
  307. set /a num+=1
  308. echo+ "%nombre%">> %lista% & echo+
  309. Colous writesec "[7]Convirtiendo el audio:" & echo+
  310. Colous writesec "[8] %nombre%" & echo+
  311. IF %RATE:~0,-5% GEQ 193 (
  312. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  313. ) ELSE (
  314. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  315. )
  316. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  317. Colous writesec "[7] Duracion: %Time%"
  318. Colous writesec "[8]=================================="
  319. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  320. Colous writesec "[7] Nuevo Formato: [2]N/A"
  321. IF %RATE:~0,-5% LEQ 192 (
  322. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  323. ) ELSE (
  324. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  325. )
  326. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  327. Colous writesec "[8]______________________________________________________________________"
  328. coreconverter.exe -infile="%nombre%" -outfile="%nombre%" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  329. Title=Audio Bitrate Changer
  330. find /v "error" "%temp%\%nombre%.txt" >nul
  331. Call :Error
  332. del /q "%temp%\%nombre%.txt"
  333. sleep 2
  334. goto:eof
  335. )
  336.  
  337. :OGG
  338. IF %ERRORLEVEL% GEQ 1 goto:eof
  339. IF %ERRORLEVEL% EQU 0 (
  340. title="Convirtiendo: %nombre%"
  341. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  342. cls
  343. set /a num+=1
  344. echo+ "%nombre%">> %lista% & echo+
  345. Colous writesec "[7]Convirtiendo el audio:" & echo+
  346. Colous writesec "[8] %nombre%" & echo+
  347. IF %RATE:~0,-5% GEQ 193 (
  348. Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
  349. ) ELSE (
  350. Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
  351. )
  352. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  353. Colous writesec "[7] Duracion: %Time%"
  354. Colous writesec "[8]=================================="
  355. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  356. Colous writesec "[7] Nuevo Formato: [2]MP3"
  357. IF %RATE:~0,-5% LEQ 192 (
  358. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
  359. ) ELSE (
  360. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  361. )
  362. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  363. Colous writesec "[8]__________________________________________________________________"
  364. coreconverter.exe -infile="%nombre:~0,-4%.ogg" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  365. Title=Audio Bitrate Changer
  366. find /v "error" "%temp%\%nombre%.txt" >nul
  367. Call :Error
  368. del /q "%temp%\%nombre%.txt"
  369. del /q "%nombre%"
  370. sleep 2
  371. goto:eof
  372. )
  373.  
  374. :WAV
  375. IF %ERRORLEVEL% GEQ 1 goto:eof
  376. IF %ERRORLEVEL% EQU 0 (
  377. title="Convirtiendo: %nombre%"
  378. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  379. cls
  380. set /a num+=1
  381. echo+ "%nombre%">> %lista% & echo+
  382. Colous writesec "[7]Convirtiendo el audio:" & echo+
  383. Colous writesec "[8] %nombre%" & echo+
  384. Colous writesec "[7] Bitrate :[12] %RATE%"
  385. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  386. Colous writesec "[7] Duracion: %Time%"
  387. Colous writesec "[8]=================================="
  388. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  389. Colous writesec "[7] Nuevo Formato: [2]MP3"
  390. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  391. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  392. Colous writesec "[8]__________________________________________________________________"
  393. coreconverter.exe -infile="%nombre:~0,-4%.wav" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  394. Title=Audio Bitrate Changer
  395. find /v "error" "%temp%\%nombre%.txt" >nul
  396. Call :Error
  397. del /q "%temp%\%nombre%.txt"
  398. del /q "%nombre%"
  399. sleep 2
  400. goto:eof
  401. )
  402.  
  403. :WMA
  404. IF %ERRORLEVEL% GEQ 1 goto:eof
  405. IF %ERRORLEVEL% EQU 0 (
  406. title="Convirtiendo: %nombre%"
  407. Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
  408. cls
  409. set /a num+=1
  410. echo+ "%nombre%">> %lista% & echo+
  411. Colous writesec "[7]Convirtiendo el audio:" & echo+
  412. Colous writesec "[8] %nombre%" & echo+
  413. Colous writesec "[7] Bitrate :[12] %RATE%"
  414. Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
  415. Colous writesec "[7] Duracion: %Time%"
  416. Colous writesec "[8]=================================="
  417. Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
  418. Colous writesec "[7] Nuevo Formato: [2]MP3"
  419. Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
  420. Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
  421. Colous writesec "[8]__________________________________________________________________"
  422. coreconverter.exe -infile="%nombre:~0,-4%.wma" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
  423. Title=Audio Bitrate Changer
  424. find /v "error" "%temp%\%nombre%.txt" >nul
  425. Call :Error
  426. del /q "%temp%\%nombre%.txt"
  427. del /q "%nombre%"
  428. sleep 2
  429. goto:eof
  430. )
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441. :SIZER
  442. SET NEWSIZE=%Size:~0,-4%
  443. SET /A NEWSIZE/=2
  444. goto:eof
  445.  
  446. :SIZER_WAVE
  447. SET NEWSIZE=%Size:~0,-4%
  448. SET /A NEWSIZE/=10
  449. goto:eof
  450.  
  451. :SIZER_SMALL
  452. SET NEWSIZE2=%Size:~0,-4%
  453. SET /A NEWSIZE2-=2
  454. goto:eof
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465. :ERROR
  466. IF %ERRORLEVEL% GEQ 1 goto:eof
  467. IF %ERRORLEVEL% EQU 0 (
  468. ·
  469. cls
  470. mode con cols=58 lines=8 & %Centrar%
  471. color 4 & echo+
  472. Colous writesec "[7] No se ha podido convertir el siguiente audio..." & echo+
  473. Colous writesec "[12] %nombre%" & echo+
  474. tec.exe "%temp%\%nombre%.txt" -de:33
  475. type "%temp%\%nombre%.txt"
  476. del /q "%temp%\%nombre%.txt"
  477. sleep 1
  478.  
  479. :WARNING
  480. Color 0e
  481. colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
  482. colous 12 0 2,04 "%nombre%" & echo+
  483. colous cursoroff
  484. sleep 1
  485.  
  486. Color 0c
  487. colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
  488. colous 12 0 2,04 "%nombre%" & echo+
  489. colous cursoroff
  490. sleep 1
  491. goto :WARNING
  492. )
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503. :END
  504. set Num2=%num%
  505. Set /a Num2+=4
  506.  
  507. If exist %lista% (
  508. cls
  509. mode con lines=%num2% & %Centrar%
  510. color 2 & echo+
  511. Colous writesec "[7] Se han convertido correctamente [2]%num%[7] audios..." & echo+
  512. FART.exe -q %lista% \" --remove
  513. type %lista%
  514. del /q %lista%
  515. )
  516.  
  517. If not exist %lista% (
  518. mode con lines=3 cols=65 & %centrar% & echo+
  519. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps."           & sleep 1 & cls & echo+
  520. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]3..." & sleep 1 & cls & echo+
  521. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]2.." & sleep 1 & cls & echo+
  522. Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]1." & sleep 1 & cls & echo+
  523. Colous writesec "[7] Bye.                                                    [8]0" & sleep 1
  524. )


« Última modificación: 22 Marzo 2011, 16:03 pm por pitoloko » En línea

No he vuelto, solo estoy de paso.
Edu


Desconectado Desconectado

Mensajes: 1.082


Ex XXX-ZERO-XXX


Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #1 en: 20 Marzo 2011, 15:01 pm »

Veo q tiene parte de codigo q solo cambia la extensión por ejemplo.

Código:
:WAV
IF %ERRORLEVEL% GEQ 1 goto:eof
IF %ERRORLEVEL% EQU 0 (
title="Convirtiendo: %nombre%"
Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
cls
set /a num+=1
echo+ "%nombre%">> %lista% & echo+
Colous writesec "[7]Convirtiendo el audio:" & echo+
Colous writesec "[8] %nombre%" & echo+
Colous writesec "[7] Bitrate :[12] %RATE%"
Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
Colous writesec "[7] Duracion: %Time%"
Colous writesec "[8]=================================="
Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
Colous writesec "[7] Nuevo Formato: [2]MP3"
Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
Colous writesec "[8]__________________________________________________________________"
coreconverter.exe -infile="%nombre:~0,-4%.wav" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
Title=Audio Bitrate Changer
find /v "error" "%temp%\%nombre%.txt" >nul
Call :Error
del /q "%temp%\%nombre%.txt"
del /q "%nombre%"
sleep 2
goto:eof
)

 
Código:
:WMA
IF %ERRORLEVEL% GEQ 1 goto:eof
IF %ERRORLEVEL% EQU 0 (
title="Convirtiendo: %nombre%"
Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%"
cls
set /a num+=1
echo+ "%nombre%">> %lista% & echo+
Colous writesec "[7]Convirtiendo el audio:" & echo+
Colous writesec "[8] %nombre%" & echo+
Colous writesec "[7] Bitrate :[12] %RATE%"
Colous writesec "[7] Tamano  :[14] %Size:~0,-4%[7] MB"
Colous writesec "[7] Duracion: %Time%"
Colous writesec "[8]=================================="
Colous writesec "[7] Nuevo Bitrate: [2]160 [7]Kbps"
Colous writesec "[7] Nuevo Formato: [2]MP3"
Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE%.0 [7]MB (Aprox.)"
Colous writesec "[7] Preset:[2] Highest quality [7](Slow)"
Colous writesec "[8]__________________________________________________________________"
coreconverter.exe -infile="%nombre:~0,-4%.wma" -outfile="%nombre:~0,-4%.mp3" -convert_to="mp3 (Lame)" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile="%temp%\%nombre%.txt"
Title=Audio Bitrate Changer
find /v "error" "%temp%\%nombre%.txt" >nul
Call :Error
del /q "%temp%\%nombre%.txt"
del /q "%nombre%"
sleep 2
goto:eof
)

No se si no se puede hacer todo en uno con algun for, o una llamada con parametros, si es q se puede en batch


En línea

SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #2 en: 20 Marzo 2011, 17:01 pm »

MmM Tienes razón Zero, aunq no se me ocurre ahora como, tengo q pensarlo xD malditos FOR


PD: He solucionado la duda número 1, bastaba con copiar el codec a la carpeta "syswow64" -.- Windows de mier... -.- ...Uf, menos mal que lo he solucionado, porque sino mi script no me habría servido para nada...

PD2: Si alguien quiere todo lo necesario para correr el script, que lo pida, que con la clave de registro que le he echo mola muchisimo, pinchas en una carpeta, o dentro del directorio, y todos los .AIF .FLAC .M4A .MP3 .OGG .WAV .WMA mayores de 160 kbps los recomprime a mp3 160 kbps! (Y sin Idtag)

Seguiré testeandolo...

Saludos!
En línea

No he vuelto, solo estoy de paso.
SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #3 en: 22 Marzo 2011, 16:04 pm »

He autosolucionado mi duda número 2 xD


Código
  1. :Rename_Wave
  2. ECHO "%nombre:~0,59%" | FIND /C ".wav" >nul
  3. IF %ERRORLEVEL% EQU 1 echo+ "%nombre:~0,59%... .wav">> %lista% & goto:eof
  4. IF %ERRORLEVEL% EQU 0 echo+ "%nombre%">> %lista% & goto:eof
En línea

No he vuelto, solo estoy de paso.
SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #4 en: 22 Marzo 2011, 19:40 pm »



Ale! Si alguien quiere ayudarme a testear el batch, aqui lo cuelgo...(Click en la imagen)


(Debe funcionar en x64 y x86)



Adjunto este fichero que sirve para desinstalar el programa (Claves de registro y todo).





Bueno, el programa es un ejecutable de winrar, al instalarlo se crea una carpeta en "c:\Archivos de programa\Pitoloko software\Audio bitrate changer"

Y solo tenemos que pinchar click derecho en una carpeta, o adentro de un directorio, y saldrá esta bonita opción:



No hay que preocuparse por nada más xD.



Le he añadido una función para recortar nombres largos (jaja, ya hablo como un programador xD  :laugh:), Ahora, queda mejor visto:








PD1: Hasta ahora solo he encontrado un fallo y no se arreglarlo, se trata de nombres que contengan el caracter [ o ], no se muestra correctamente el nombre en el programa, pero si que se convierte bien a .mp3 160kbps. con el resto de caracteres como : ()/&-%!+_,. Funciona correctamente.

PD2: Los archivos de audio en .mp3 mayores de 160 kbps serán automaticamente reemplazados por los nuevos convertidos en 160 kbps, y cualquier otro de los formatos: AIF, FLAC, M4A, OGG, WAV O WMA mayores de 160 kbps se borran y se reemplazan por .mp3 160 kbps. Lo digo para quien quiera probar sin perder los archivos originales, que haga una copia de esa carpeta.

PD3: No hace falta instalar ningún codec, ya viene en el programa.

PD4:los ejecutables se copian tanto a la carpeta que he comentado al principio, como a la de system32/64 , para quien quiera probarlas mejor y eso...



En línea

No he vuelto, solo estoy de paso.
bolivianito

Desconectado Desconectado

Mensajes: 41



Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #5 en: 23 Marzo 2011, 18:50 pm »

me gusta che como está quedando...
veo que sigues dandole al colous jaja :)
En línea

SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
Re: [ Batch ] Preguntas y ayuda para corregir mi script...
« Respuesta #6 en: 24 Marzo 2011, 15:57 pm »

me gusta che como está quedando...
veo que sigues dandole al colous jaja :)

Gracias xD, como no! Gran utilidad que dscubrí gracias a ti!

Saludos!
En línea

No he vuelto, solo estoy de paso.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[BATCH][Ayuda]con script para sabe el nombre de un archivo...
Scripting
FranciskoAsdf 2 3,918 Último mensaje 11 Mayo 2009, 03:42 am
por FranciskoAsdf
[Ruby] Me ayudan a corregir este script?
Scripting
Eleкtro 4 2,708 Último mensaje 23 Febrero 2012, 10:20 am
por Eleкtro
Ayuda para corregir error visual redrawing effect en mi form « 1 2 »
.NET (C#, VB.NET, ASP)
Eleкtro 11 5,200 Último mensaje 24 Noviembre 2012, 19:31 pm
por Eleкtro
[BATCH] Necessito ayuda URGENTE ! SCRIPT BATCH !!
Scripting
wescker 0 1,504 Último mensaje 26 Noviembre 2016, 19:41 pm
por wescker
[BATCH-SCRIPT] Necesitaria Ayuda en script en batch .
Scripting
PaKun 1 1,032 Último mensaje 1 Mayo 2019, 00:18 am
por **Aincrad**
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines