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! ;)
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