Problema Runtime.getRuntime().exec

hadesandres
02 de Junio del 2006
Buenos Dias, cuando ejecuto la instruccion:
Runtime.getRuntime().exec
le paso como parametros:
("cmd /C start " + "C:\hades andres\andres.xml");

El problema esta en el espacio entre hades y andres.... si coloco %20 no me lo reconoce.... alguien sabe como se puede hacer????

GRACIAS.

Alex
02 de Junio del 2006
Podias usar la linea de comandos para ejecutar dir en C: y ver como abrevia la carpeta hades andres, quizas como hades~1 o algo asi, y asi deberias poner en tu parametro de exec()

Johny
02 de Junio del 2006
Manda como parametro esto: ("cmd /C start " + ""C:\hades andres\andres.xml""). el problema es que no se le esta pasando la ruta entre comillas al sistema, y el la separa como si fueran diferentes argumentos. Con este codigo funcionara.

Eduardo_84
02 de Junio del 2006
Manda como parametro esto: ("cmd /C start " + """+"C:\hades andres\andres.xml"+""); osea le mandas el path entre comillas. Necesitas colocarle un antes y despues.

hector.pena
02 de Junio del 2006
Que mas???? no, eso no me funciono, me abre una ventana de MSDOS dejandome en el directorio donde estoy ejecutando el .java.... he probado con el caracter de escape "", asi como comentan arriba... pero no he encontrado el respectivo codigo del espacio....

x
02 de Junio del 2006
prueba a poner la ruta corta q usa el MSDOS, por ejemplo Archivos de Programa es Archiv~1

Diego
02 de Junio del 2006
Mira a ver si el carácter que quieres poner lo puedes representar con su código Unicode, por ejemplo el punto . es u002e. Lo sé porque tuve que hacer una expresión regular y el punto '.' sustituye a cualquier carácter y tenía que reconocerlo para reconocer números decimales. Busca el código Unicode del carácter que quieras insertar y sustituye dicho carácter por su código dentro de la cadena. Espero que te sirva.

Timoniel_24
02 de Junio del 2006
Lo que pasa por no leer la ayuda de los comandos...
Tecleen desde una pantalla de DOS help cmd, al final de la ayuda se especifica que para el comando CMD, deben incluirse entre comillas los caracteres especiales:
<espacio>
&()[]{}^=;!'+,`~

Entonces esto debe funcionar, el espacio entre comillas:
("cmd /C start " + "C:\hades"+" " + "andres\andres.xml");