Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - SuperDraco

#1721
Cita de: ~xassiz en 19 Marzo 2011, 16:07 PM
Código (dos) [Seleccionar]

for /f "tokens=*" %%%% in ('mediainfo "%%a" "--Inform=General;%%BitRate%%"') do set "rate=%%~%%"

echo.%rate%

;D


Pero, como haría eso dentro de este for?
Código (dos) [Seleccionar]

for /f "tokens=*" %%a in ('dir /B *.mp3') do (
set nombre=%%a
mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "161... 162... 163... 164... 165... 166... 167... 168... 169... 17.... 18.... 19.... 2..... 3....." >nul
call :MP3
)


Necesito meterlo dentro de ese for...
Se podría mezclar mi FOR con tu FOR???
Es que, como está el "findstr" de por medio, me parece algo imposible para mi...

Gracias de todas formasss por la ayuda
#1722
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:

Código (DOS) [Seleccionar]
@echo off

CD "%D%"

for /f "tokens=*" %%a in ('dir /B *.mp3') do (
cls
set nombre=%%a
mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "3....." >nul
call :MP3
)



:MP3
IF %ERRORLEVEL% GEQ 1 goto:eof
IF %ERRORLEVEL% EQU 0 (
cls
set /a num+=1
echo+ "%nombre%">> %lista% & echo+
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
goto:eof
)


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
#1723
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
#1724
Aún tengo que probar el método que me dijiste con "findstr", pero como de momento el mio creo que no da fallos, antes de probar el tuyo quiero ir por partes y terminar una cosa que aún llevo mal, se trata de esto:

mediainfo "%%a" "--Inform=General;%%BitRate%%"



Como puedo pasar el valor que me da ese comando (El número 320000), a una variable, para "jugar" con ella por ejemplo así dentro de mi script?:

For /f... blablabla...mediainfo "%%a" "--Inform=General;%%BitRate%%" > %rate% & goto :xxx

:xxx
echo Convirtiendo el archivo: %%a
echo Bitrate del archivo original: %rate%


He estado probando con "set /p" y "set" pero no consigo hacerlo...

¿Como creo la variable "rate" para luego guardar el numero en esa variable y poder usarlo como "echo %rate%"?
#1725
Muchas gracias por las molestias que te tomas, Arreglar el código e instalarte el mediainfo, ya he "reescrito" todo el código a tu manera, para empezar a hacer las cosas bien xD...

Pero bueno, vayamos al tema, ¿que puedo hacer con el problema del "Set /A"?

saludos!


EDITO: Ya lo he solucionado, no funcionaba porque estaba dentro del "IF" (No se porque...) pero al dejarlo afuera, ya me va perfecto:


Código (dos) [Seleccionar]
: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
)
#1726
jajaja q foto más buena andres xDDD


Bueno, amigo gamer, en serio, tu te has leido nuestros comentarios??

No se, parece que hables sin haberlos leidos, igual que te hemos contestado nosotros pidiendote más datos, podrias contestarnos tu también...

Esta vez, FIJATE:


No se da soporte a Windows modificados en el foro. Entonces, pido una aclaración, SEGURO QUE ES MODIFICADO? O SIMPLEMENTE "PIRATA"? Tu windows xp es desatendido?

De todas formas... para bajarte el paquete "xp sp3" lo puedes encontrar en cualquier parte, en idioma español... si no te lo puedes bajar de la web de microsoft, deberás activar tu windows... busca en google...
#1727
Foro Libre / Re: Hola!
18 Marzo 2011, 14:06 PM
Hola y bienvenido, pero cual es la duda??? xDDDD (Broma)

Saludos!
#1728
Uf, es que si lo pongo todo va a ser un lio, ya sabes que soy d malas costumbres xDDD,

Ahí va:

Código (dos) [Seleccionar]
@echo off
Mode con cols=60 lines=18
Set Lista=%Temp%\Lista.txt
Set Num=0


:BUSCAR
for /f "tokens=*" %%a in ('dir /B *.mp3') do cls & set nombre=%%a & mediainfo "%%a" "--Inform=General;%%BitRate%%" | findstr "2..... 3....." >nul & call :MP3


:TERMINAR
cls
If exist %lista% set num2=%num% & set /a num2+=6 & mode con lines=%num2% & echo+ Se han convertido correctamente %num% audios..." & type %lista% & del /q %lista% & pause >nul & exit
If not exist %lista% mode con lines=3 cols=65 & echo+ No se ha encontrado ningun audio superior a +160 kbps.  & sleep 3 & exit

:MP3
IF %ERRORLEVEL% LEQ 0 cls & set /a num+=1 & echo+ %nombre%>> %lista% & coreconverter.exe -infile="%nombre:~0,-5%.mp3" -outfile="%nombre:~0,-5%.mp3" -convert_to="mp3 (Lame)" -b 160 & goto:eof



la parte que falla es el "Set /a" de la subrutina ":TERMINAR", el "Set /a" de ":MP3" funciona correctamente porque se me muestra bien la variable:


#1729
hola, ya tengo otro problema que me trae de cabeza :S les recorto el trozo que interesa, del script:

Código (dos) [Seleccionar]

Set Num=0

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...
#1730
Multimedia / Re: MEJORAR SONIDO DE PELICULAS
18 Marzo 2011, 03:27 AM
Si pero... al menos se escucha por 2 canales, me refería a eso cuando decia q se mejoraba "un pokitín" xDDD aunq en realidad no se mejora xD...