[Pregunta] Problema con FOR %% IN () DO ()

Iniciado por manuelxavier, 26 Agosto 2010, 04:34 AM

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

manuelxavier

Hola a todos  :D! Me acabo de inscribir en el foro  :-\. Tengo una gran duda.

Tengo dos archivos wav mono y quiero fusionarlos en un archivo estereo. Para esto creé este batch:


For %%a in (*LEFT.wav) do (set LEFT=%%a)
m2s.exe -l %LEFT% -r %LEFT:~0,-8%RIGHT.WAV -o %LEFT:~0,-8%STEREO.wav
pause
exit


Coloco estos 2 archivos en la carpeta del batch y lo ejecuto:
CYM1_1-RIGHT.wav
CYM1_1-LEFT.wav

Como resultado obtengo CYM1_1-STEREO.wav  :laugh:

Hasta ahí todo anda perfecto :xD. Ahora necesito agregar más archivos, osea, fusionar varios archivos simultáneamente. Modifique el escript:


For %%a in (*LEFT.wav) do (set LEFT=%%a
m2s.exe -l %LEFT% -r %LEFT:~0,-8%RIGHT.WAV -o %LEFT:~0,-8%STEREO.wav
)
pause
exit


Copio los archivos a la carpeta y ejecuto el script:
CYM1_1-RIGHT.wav
CYM1_1-LEFT.wav
HH1V08-LEFT.wav
HH1V08-RIGHT.wav

Y el resultado??? Nada  :-X... Me dí cuenta que set LEFT=%%a NO funciona dentro del do () en el segundo script. Cuando escribo %LEFT% no me devuelve ningún valor.

De verdad he googleado por varias webs y no he encontrado nada. Son ciento de archivos wavs que debo fusionar.  :o

Acá dejo mi Script, los WAVs y el M2S (Mono to Stereo):
http://www.mediafire.com/file/p5v6l1tb0js72rl/script.zip

Saludos!  ;)



Guerrerohgp

Hola, compañero! bienvenido al foro!

y bueno tu problema segun veo es que la variable dentro del for no es seteada y leida, y bueno para eso podemos usar una nueva etiqueta.

Ej:

For %%a in (*LEFT.wav) do (set LEFT=%%a&&call:cmd)
pause
exit

:cmd
m2s.exe -l %LEFT% -r %LEFT:~0,-8%RIGHT.WAV -o %LEFT:~0,-8%STEREO.wav
goto:eof



Suerte!

bye bytes,

Guerrerohgp