[ Batch ] Preguntas y ayuda para corregir mi script...

Iniciado por SuperDraco, 20 Marzo 2011, 12:57 PM

0 Miembros y 1 Visitante están viendo este tema.

SuperDraco

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 (dos) [Seleccionar]
@echo off
Title=Audio Bitrate Changer
Mode con cols=20 lines=3
Color 7

Set Centrar=Nircmd win center ititle "Audio Bitrate Changer"
Set Lista=%Temp%\Lista.txt
Set Num=0
Set Rate=0










:START
If exist %lista% (
Del /q %Lista% >nul 2>&1
)
echo+ & %centrar%
Colous cursoroff
Colous writesec "[7] Buscando audios" & sleep 1 & cls & echo+
Colous writesec "[7] Buscando audios." & sleep 1 & cls & echo+
Colous writesec "[7] Buscando audios.." & sleep 1 & cls & echo+
Colous writesec "[7] Buscando audios..." & sleep 1











:VERIFY

dir /B *.aif >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_AIF
)

dir /B *.flac >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_FLAC
)

dir /B *.m4a >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_M4A
)

dir /B *.ogg >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_OGG
)

dir /B *.wav >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_WAV
)

dir /B *.wma >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
call :FIND_WMA
)


dir /B *.mp3 >nul 2>&1
IF %ERRORLEVEL% EQU 0 (
goto:FIND_MP3
)

goto :END










:SEARCH

:FIND_AIF
for /f "tokens=*" %%a in ('dir /B *.aif') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3..... 4..... 5..... 6....." >nul
call :AIF
)
goto:eof


:FIND_FLAC
for /f "tokens=*" %%a in ('dir /B *.flac') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "2..... 3..... 4..... 5..... 6..... 7..... 8..... 9..... 1...... 2......" >nul
call :FLAC
)
goto:eof


:FIND_M4A
for /f "tokens=*" %%a in ('dir /B *.m4a') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
Call :SIZER_SMALL
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
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
call :M4A
)
goto:eof


:FIND_OGG
for /f "tokens=*" %%a in ('dir /B *.ogg') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
Call :SIZER_SMALL
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
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
call :OGG
)
goto:eof


:FIND_WAV
for /f "tokens=*" %%a in ('dir /B *.wav') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
call :sizer_WAVE
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
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
call :WAV
)
goto:eof


:FIND_WMA
for /f "tokens=*" %%a in ('dir /B *.wma') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
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
call :WMA
)
goto:eof


:FIND_MP3
for /f "tokens=*" %%a in ('dir /B *.mp3') do (
cls
set nombre=%%a
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate/String%%"') do set "Rate=%%~%%"
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%FileSize/String%%"') do set "Size=%%~%%"
call :Sizer
Call :SIZER_SMALL
for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%Duration/String%%"') do set "Time=%%~%%"
mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3....." >nul
call :MP3
)
Goto :END










:CONVERT

:AIF
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%.aif" -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
)



:FLAC
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,-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"
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
)

:M4A
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+
IF %RATE:~0,-5% GEQ 193 (
Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
) ELSE (
Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
)
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"
IF %RATE:~0,-5% LEQ 192 (
Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
) ELSE (
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%.m4a" -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
)

:MP3

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+
IF %RATE:~0,-5% GEQ 193 (
Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
) ELSE (
Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
)
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]N/A"
IF %RATE:~0,-5% LEQ 192 (
Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
) ELSE (
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%" -outfile="%nombre%" -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"
sleep 2
goto:eof
)

:OGG
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+
IF %RATE:~0,-5% GEQ 193 (
Colous writesec "[7] Bitrate :[12] %RATE:~0,-5%[7] Kbps"
) ELSE (
Colous writesec "[7] Bitrate :[14] %RATE:~0,-5%[7] Kbps"
)
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"
IF %RATE:~0,-5% LEQ 192 (
Colous writesec "[7] Nuevo Tamano : [2]%NEWSIZE2%.0 [7]MB (Aprox.)"
) ELSE (
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%.ogg" -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
)

: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
)

: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
)










:SIZER
SET NEWSIZE=%Size:~0,-4%
SET /A NEWSIZE/=2
goto:eof

:SIZER_WAVE
SET NEWSIZE=%Size:~0,-4%
SET /A NEWSIZE/=10
goto:eof

:SIZER_SMALL
SET NEWSIZE2=%Size:~0,-4%
SET /A NEWSIZE2-=2
goto:eof










:ERROR
IF %ERRORLEVEL% GEQ 1 goto:eof
IF %ERRORLEVEL% EQU 0 (
·
cls
mode con cols=58 lines=8 & %Centrar%
color 4 & echo+
Colous writesec "[7] No se ha podido convertir el siguiente audio..." & echo+
Colous writesec "[12] %nombre%" & echo+
tec.exe "%temp%\%nombre%.txt" -de:33
type "%temp%\%nombre%.txt"
del /q "%temp%\%nombre%.txt"
sleep 1

:WARNING
Color 0e
colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
colous 12 0 2,04 "%nombre%" & echo+
colous cursoroff
sleep 1

Color 0c
colous 15 0 2,02 "No se ha podido convertir el siguiente audio..." & echo+
colous 12 0 2,04 "%nombre%" & echo+
colous cursoroff
sleep 1
goto :WARNING
)










:END
set Num2=%num%
Set /a Num2+=4

If exist %lista% (
cls
mode con lines=%num2% & %Centrar%
color 2 & echo+
Colous writesec "[7] Se han convertido correctamente [2]%num%[7] audios..." & echo+
FART.exe -q %lista% \" --remove
type %lista%
del /q %lista%
pause >nul
exit
)

If not exist %lista% (
mode con lines=3 cols=65 & %centrar% & echo+
Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps."           & sleep 1 & cls & echo+
Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]3..." & sleep 1 & cls & echo+
Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]2.." & sleep 1 & cls & echo+
Colous writesec "[7] No se ha encontrado ningun audio superior a +160 kbps.  [8]1." & sleep 1 & cls & echo+
Colous writesec "[7] Bye.                                                    [8]0" & sleep 1
exit
)
No he vuelto, solo estoy de paso.

Edu

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


: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
)



: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

SuperDraco

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!
No he vuelto, solo estoy de paso.

SuperDraco

He autosolucionado mi duda número 2 xD


Código (dos) [Seleccionar]
:Rename_Wave
ECHO "%nombre:~0,59%" | FIND /C ".wav" >nul
IF %ERRORLEVEL% EQU 1 echo+ "%nombre:~0,59%... .wav">> %lista% & goto:eof
IF %ERRORLEVEL% EQU 0 echo+ "%nombre%">> %lista% & goto:eof
No he vuelto, solo estoy de paso.

SuperDraco



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...



No he vuelto, solo estoy de paso.

bolivianito

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

SuperDraco

Cita de: bolivianito en 23 Marzo 2011, 18:50 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!
No he vuelto, solo estoy de paso.