2012-06-05 16:19:06 +0000 2012-06-05 16:19:06 +0000
17
17

¿Cómo llamar a un programa que contiene un espacio en el nombre del archivo?

Estoy tratando de ejecutar una línea de comandos algo como esto: start /max C:\Program files\foo\ba.exe -somearguments.

Pero tengo un problema, el cmd devuelve un mensaje de error algo así como The system cannot found the C:\Program file y si pongo el C:\Program files\foo\ba.exe entre comillas, simplemente ejecuta una nueva ventana cmd en modo MAX y no ejecuta el programa.

¿Cómo solucionar esto?

Respuestas (4)

15
15
15
2012-06-05 16:26:45 +0000

Todos los nombres de archivos y rutas que contengan espacios deben ir entrecomillados.

A continuación, con respecto a su pregunta, ¿qué tal si se indica la ruta como

start /max /d"C:\Program files\foo\" ba.exe -somearguments
15
15
15
2012-06-05 16:24:44 +0000

El error ocurrió porque el sistema interpretó su comando como el archivo C:\Program y file como argumento de su comando. Obviamente no encuentra el archivo Program y devuelve este error.

Para solucionarlo, simplemente incluya "" en la ruta entre las palabras con el carácter de espacio o en toda la ruta:

start /max C:\"Program files"\foo\ba.exe -somearguments

o

start /max "C:\Program files\foo\ba.exe" -somearguments
4
4
4
2012-06-05 16:31:11 +0000

Aunque encerrar la ruta entre comillas es lo más fácil y claro de leer, también puede utilizar los antiguos nombres cortos de DOS (desde que DOS siguió la nomenclatura 8.3, los nombres de archivo de más de 8 caracteres se truncaban con ~1) para los archivos. Estos nombres no tienen espacios. Puede ver los nombres cortos de los archivos con el comando DIR /X.

1
1
1
2018-05-04 12:48:54 +0000

En Win10 puedes probar esto:

start /max C:\Program%20files\foo\ba.exe -somearguments