|
151
|
Programación / Scripting / (SOLUCIONADO) [ BATCH ] Duda general SET y FOR
|
en: 21 Marzo 2011, 15:42 pm
|
Aún no me aclaro del todo con el CMD :/ Tengo una pequeña duda Si tengo una lista así... C:\>type c:\lista.txt
213.149.245.116:27015 93.189.35.160:27015 213.149.245.112:27050 93.189.35.172:27015 213.149.245.85:27015
Y tengo un código así... for /f %%a in ('type c:\lista.txt .' ) do ( )
Mi pregunta es, porque el "echo %ip%" dentro del for no funciona, y el segundo "echo %ip%" si que me funciona? saludos
|
|
|
152
|
Programación / Scripting / [ 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 . 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 El Script:Title=Audio Bitrate Changer Color 7 Set Centrar=Nircmd win center ititle "Audio Bitrate Changer" Set Lista= %Temp%\Lista.txt :START ) 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 ) ) ) ) ) ) ) :SEARCH :FIND_AIF cls 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=%%~%%" 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) :FIND_FLAC cls 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=%%~%%" 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) :FIND_M4A cls 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=%%~%%" 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) :FIND_OGG cls 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=%%~%%" 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) :FIND_WAV cls 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=%%~%%" 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) :FIND_WMA cls 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=%%~%%" 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) :FIND_MP3 cls 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=%%~%%" 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) :CONVERT :AIF title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :FLAC title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :M4A title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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" 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.)" 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :MP3 title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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" 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.)" 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :OGG title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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" 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.)" 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :WAV title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :WMA title="Convirtiendo: %nombre%" Mode con cols=70 lines=28 & Nircmd win center ititle "Convirtiendo: %nombre%" cls 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 del /q " %temp%\ %nombre%.txt" sleep 2 ) :SIZER :SIZER_WAVE :SIZER_SMALL SET NEWSIZE2= %Size:~0,-4% :ERROR · cls mode con cols=58 lines=8 & %Centrar% 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 ) :END cls mode con lines= %num2% & %Centrar% Colous writesec "[7] Se han convertido correctamente [2] %num%[7] audios..." & echo+ FART.exe -q %lista% \" --remove type %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 )
|
|
|
153
|
Programación / Scripting / [ Batch ] Barra de progreso en batch... ¿Como?
|
en: 19 Marzo 2011, 18:30 pm
|
Hola... se que soy un pesado xDDD pero ya me gustaría saber tanto como vosotros, así no molestaría , en fin, como siempre vuelvo a necesitar ayuda con mis cosas... Hace dos dias empezé a buscar "progress bar" para el cmd, y la que más me agustado ha sido esta: http://sigg3.net/blogger/progbar_sub.rarEl caso es que me gustaría meterla en mi script, en el espacio grande que queda en esta ventanita, miren: Ahora viene lo malo... NO SE COMO HACERLO XD... Bueno, más o menos he conseguido algo, la barra de progreso dice el autor que hay que llamarla con un "Call", así que yo hago eso... pero al ejecutarse el "call", la barra de progreso TAPA todo lo que hay en la imagen de mi script, osea, sale arriba, no abajo. He intentado modificar el script del autor, poniendole muchos "echo+" a ver si así aparecía un poco más abajo en mi script, pero no ha dado resultados... Así que a ver si alguien sabe la solución :/ Esta es la parte de mi script en donde quiero meter la barra: :MP3 cls Colous writesec "[7]Convirtiendo el archivo:" & echo+ Colous writesec "[8] %nombre%" & echo+ Colous writesec "[7] Bitrate :[14] %RATE:~0,-5% [7]Kbps" Colous writesec "[7] Tamano : %Size:~0,-4% MB" Colous writesec "[7] Duracion: %Time%" Colous writesec "[8]=================================" Colous writesec "[7] Nuevo Bitrate: [2]CBR 160 Kbps [8]|" Colous writesec "[7] Nuevo Formato: [2]MP3 [8]|" Colous writesec "[7] Preset:[2] Highest quality (Slow) [8]|" Colous writesec "[8]__________________________________________________________" (AQUI IRIA LA BARRA DE PROGRESO PARA USARSE CON ESTE COMANDO >> ) coreconverter.exe -silent -infile=" %nombre%" -outfile=" %nombre%" -convert_to="mp3 (Lame )" -b 160 --cbr -encoding="SLOW" -q 0 -noidtag -priority="low" -errorfile=" %temp%\ %nombre%.txt" find /v "error" " %temp%\ %nombre%.txt" >nul del /q " %temp%\ %nombre%.txt" sleep 2 )
Y aquí el script de la barra (Bueno, uno de varios que hay en el link que puse más arriba): :barloop set "_cooline=Current progress:" :barloop_chk_defpr :barloop_progbar IF %_pr% EQU 5 (echo [============== ^> ] 50 %% IF %_pr% EQU 6 (echo [================= ^> ] 60 %% IF %_pr% EQU 7 (echo [==================== ^> ] 70 %% IF %_pr% EQU 8 (echo [======================= ^> ] 80 %% IF %_pr% EQU 9 (echo [========================== ^> ] 90 %% echo [==============================] 100 %% ) ) ) ) ) ) ) ) ) ) ) echo ERROR: _returnto param wrong or undefined !&PAUSE REM ## End of THE PROGRESS BAR SUBROUTINE ##
|
|
|
154
|
Programación / Scripting / (SOLUCIONADO) [ Batch] Duda ¿Como ver un texto ANSI correctamente en el CMD?
|
en: 19 Marzo 2011, 13:20 pm
|
Pues eso, un programa me genera un texto ANSI (Bueno, no se mucho de esto, pero el programa dice que es ANSI...) y dentro del texto pone: Error decoding mp3 data steam, is corrupt?Pero si ejecuto el comando "Type archivo.txt" se me muestra así: E r r o r d e c o d i n g m p 3 d a t a s t e a m , i s c o r r u p t ?¿Que raro, no? xD yo supongo que es por eso del ANSI vaya... Que conste que he buscado información, pero "type" no tiene ninguna opción para esto... y comandos como "cmd /a" "cmd /U" no me han servido... EDITO:UF!! Maldito ANSI... ahora tengo un nuevo problema, he agregado una clave de registro en el menú del ratón, la he asignado a este comando: cmd.exe /C SET D=%1&&"C:\Windows\System32\Bitrate Changer.bat" Bien, ahora pincho click derecho en cualquier carpeta d emi pc, le doy a la opcion que he creado, y cuando se ejecuta el script, me muestra este mensaje de error: E r r o r : U n a b l e t o l o a d e n c o d e r ' L A M E ' . [ d B C o r e C o n v e r t e r : : d C o r e C o n v e r t e r ] Se me muestra todo con espacios!!!!!!!!!! Y el error estoy seguro que es por eso, porque busca LAME con espacios, y debe estar SIN espacios... comos e arregla esta cosa del ansi??? Porque si lo ejecuto normal si que me funciona... Por si sirve de algo... lo que intento ejecutar desde el registro (Me refiero a que he creado una opción en el menú del raton al hacer click en un directorio...) es esto: cls mediainfo " %%a" "--Inform=General; %%BitRate%%" | findstr "3....." >nul) :MP3 cls Colous writesec "[7]Convirtiendo el archivo:" & echo+ Colous writesec "[14] %nombre%" & echo+ Colous writesec "[7] Formato: [14]MP3 (LAME)" Colous writesec "[7] Bitrate:[14] CBR 160 Kbps" Colous writesec "[7] Preset:[14] Highest quality (Slow)" coreconverter.exe -infile="%D%\%nombre%" -outfile="%D%\%nombre%" -convert_to="LAME" -b 160 --cbr -encoding="SLOW" sleep 2 )
CD %D% Es la ruta del directorio "clickado", todo funciona bien hasta que llega a la parte donde tiene que buscar el codec " L A M E ", como lo busca con espacios no lo encuentra.... Si ejecuto el batch normal, busca el codec " LAME" sin espacios... Espero que entiendan lo que quiero decir.. y que puedan ayudarme xD
|
|
|
155
|
Programación / Scripting / [ BATCH] F.A.R.T. (Find And Replace Text) El nombre lo dice todo, es muy bueno!
|
en: 19 Marzo 2011, 10:42 am
|
Hola, me he encontrado una utilidad muy buena en el foro de AutoIt, y quiero compartirla... Personalmente como soy usuario de Windows 7, no tengo el EDLIN.exe, y estoy muy cansado de lo complicado que se me hace usar el SED.exe, en cambio, FART deslumbra por su sencillez de uso, Aunque eso no significa que no pueda hacer tares dificiles! Un ejemplo fácil es: FART.exe -q lista.txt \" --remove Con ese comando elimina todas las comillas dentro del archivo lista.txt FART.exe -q lista.txt hola adios Con ese comando busca TODAS las palabras "hola" y las sustituye por "adios" Usage: FART [options] [--] <wildcard>[,...] [find_string] [replace_string]
Options: -h --help Show this help message (ignores other options) -q --quiet Suppress output to stdio / stderr -V --verbose Show more information -r --recursive Process sub-folders recursively -c --count Only show filenames, match counts and totals -i --ignore-case Case insensitive text comparison -v --invert Print lines NOT containing the find string -n --line-number Print line number before each line (1-based) -w --word Match whole word (uses C syntax, like grep) -f --filename Find (and replace) filename instead of contents -B --binary Also search (and replace) in binary files (CAUTION) -C --c-style Allow C-style extended characters (\xFF\0\t\n\r\\ etc.) --cvs Skip cvs dirs; execute "cvs edit" before changing files -a --adapt Adapt the case of replace_string to found string -b --backup Make a backup of each changed file -p --preview Do not change the files but print the changes Se puede descargar desde aquí: http://sourceforge.net/projects/fart-it/files/fart-it/1.99b/fart199b_win32.zip/download
|
|
|
156
|
Programación / Scripting / (SOLUCIONADO) [ Batch ] Problemilla con variable Set /a...
|
en: 18 Marzo 2011, 07:12 am
|
hola, ya tengo otro problema que me trae de cabeza :S les recorto el trozo que interesa, del script: blabla... ... & findstr blablabla & call : proceso :proceso IF %ERRORLEVEL% EQU 0 set /a num+=1 & blablabla lo que sigue... :Terminar set /a num+=6 & mode con lines= %num%
... pero el número siempre es "1", y no se porque. Así que para probar, hice esto: echo %num% set num2=%num% set /a num2+=6 echo numero nuevo:%num2% pause
Y el resultado es esto: ¿Porque no me deja? PD: En cambio, si repito el proceso manualmente en la consola, si que me deja, así que he pensado que el problema puede estar en los caracteres " %", pero ya he probado cambiandolos y nada...
|
|
|
158
|
Media / Multimedia / (SOLUCIONADO) Pregunta para Songoku o quien pueda ayudarme con dbPowerAmp
|
en: 16 Marzo 2011, 19:22 pm
|
Hola, no he sabido muy bien si postear esto en scripting o mejor aqui, en multimedia, porque creo que Songoku o Armando serían mi única esperanza xDDD estoy haciendo un batch para ahorrarme la tira de trabajo a diario... en fin resulta que llego a un punto donde tengo un error y no se porque, si el codec lo tengo bien instalado... Songoku, no sabrás usar el dbpoweramp mediante linea de comandos verdad? me salvarías la vida xD Bueno este es el código de prueba: coreconverter.exe -infile="%nombre%" -outfile="%nombre%" -convert_to="mp3 (Lame)" -V 6 & pause y este el error: Se agradece a cualquiera que pueda aportarme algo... Esto me desespera, la verdad... Saludos! EDITO: Uf, había un fallo al resolver el nombre del archivo, quedaba un espacio al final y entonces la extensión se reconocía como ".mp3 " y claro, no encontraba ningun codec para eso, ya está. Pero ahora tengo otro problema, necesito saber los comandos para asignarle un bitrate de compresión mediante el coreconverter.exe :/ y ni idea...
|
|
|
159
|
Programación / Scripting / (SOLUCIONADO) [ BATCH ] Ayuda con "findstr"... y contador
|
en: 16 Marzo 2011, 11:55 am
|
Hola, hago este tema aparte porque lo veo distinto, espero que sea lo correcto... Bueno, el problema es que, a ver... si yo ejecuto este comando: se me muestra esta información: Yo quiero buscar distintas "frases" ahi dentro como " 320.0 kbit" "1 92.0 kbit" o " 224.0 kbit", con findstr, así que para buscar 320.0 kbit hago esto: mplayer "%%a" -frames 0 | findstr /c:"320.0 kbit" Pero claro, para buscar todas las frases al mismo tiempo no se hacerlo, porque no las puedo separar con comillas en findstr... ___________________________________________________________________________________________________________ | EDITO: Ya he aprendido a separar las busquedas, lo estaba haciendo muy mal, tenía que usar comodines y espacios, pero ahora el problema cambia, necesito hacerlo de un modo distinto, tengo que crear un contador dentro de este comando: for /f "tokens=*" %%a in ('dir /B *.mp3') do set nombre="%%a" & mediainfo "%%a" | findstr Bit.rate.........................:.320.Kbps >null & call :error El contador debe sumar el valor de findstr (el numero) desde 161 hasta 320, y comrobarlos todos Ejemplo: | findstr 161.kbps >null & call :error | findstr 162.kbps >null & call :error | findstr 163.kbps >null & call :error | findstr ... | findstr 320.kbps >null & call :error como leches se hace eso? xDDD
|
|
|
160
|
Programación / Scripting / (SOLUCIONADO)[ BATCH ] Ayuda con FOR / Analizar bitrate mp3 de archivos.
|
en: 16 Marzo 2011, 09:57 am
|
Necesito saber como puedo hacer para analizar (Dentro de un directorio) el bitrate de los archivos mp3, lo que realmente necesito es saber cuales son MAYORES de 160 kbps para asignarle un proceso, y olvidarme de los menores de 160 kbps...mediante un batch... Alguien me puede ayudar con este tema? :/ EDITO: Vale, rebuscando mucho al final me he ayudado del mplayer, aunque el proceso tarda mucho..unos 5 segundos para "escanear" un archivo, pero algo es algo... he conseguido hacer esto, pero está mal echo: @echo off
for /f "tokens=*" %%a in ('dir /B *.mp3') do mplayer "%%a" -frames 0 | findstr /c:"320.0 kbit" >null & call :error
:error IF %ERRORLEVEL% LEQ 0 echo %%a es mayor de 160 kbps & pause IF NOT %ERRORLEVEL% LEQ 0 echo %%a es menor de 160 k & pause
El problema es en la parte del errorlevel " echo %%a es mayor de 160 kbps & pause" no se m muestra el nombre del archivo, esto es un inconveniente porque entonces como puedo trabajar con el nombre del archivo para asignarle algún proceso? Una imagen para que me entendais: Si no me resuelve el nombre del archivo de FOR, entonces no podré hacer un... IF %ERRORLEVEL% LEQ 0 "Reducir_Bitrate.exe" "%%a"
... Aqui hay muchos expertos, seguro que algo se me ha pasado por alto... espero ayuda, graciasss
|
|
|
|
|
|
|