Foro sobre Java SE > Ayuda cerrar un proceso
Prueba con esto:
ProcessBuilder pb = new ProcessBuilder("c:/KSTool/ConvertRaw.bat");
Process shell = pb.start();
shell.waitFor();
int iResult = shell.exitValue();
Me acabo de dar cuenta que no hace la conversión de todos los ficheros... esto es lo que me devuelve la consola:
C:\KSTool>FOR %A IN (C:/KSTool/*.WAV) DO sox -S %A -r 44100 -b 16 --encoding signed-integer "Converted/%~nxA" bass 5 treble 25 highpass 1000 norm -6C:\KSTool>sox -S C:MS000000.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000000.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000001.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000001.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000002.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000002.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000003.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000003.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000004.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000004.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000005.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000005.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000006.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000006.wav" bass 5 treble 25 highpass 1000 norm -6
C:\KSTool>sox -S C:MS000007.wav -r 44100 -b 16 --encoding signed-integer "Converted/MS000007.wav" bass 5 treble 25 highpass 1000 norm -6
Solo convierte 8 de todos los ficheros (que son 30).. si lo ejecuto desde el .bat directamente lo hace bien; me queda solamente por probar crear un proceso al cual le agrego comandos, pero no tengo ni la menor idea como se hace.
¿Cómo que no tienes la menor idea de cómo se hace? Si ya lo estás haciendo con el BAT, ¿no?
Muchachos como estan? tengo un problemita con un proceso externo,
cree en java un process y cuando termina de hacer su próposito no termina nunca,
el programa externo es SoX (un conversor de audio por consola), el código para ejecutarle es bastante simple:
y estos son los comandos del .bat de SoX..
El programa se ejecuta y nunca acaba, probe con pr.destroy(); pero nada, siempre se queda ejecutando