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

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

Intenté ejecutar una línea de comando similar a esta: start /max C:\Program files\foo\ba.exe -somearguments.

Pero tengo un problema, el cmd devuelve un mensaje de error parecido a The system cannot found the C:\Program filey si pongo las C:\Program files\foo\ba.execomillas, simplemente ejecuta un cmd de nueva ventana en modo MAX y no ejecuta el programa.

¿Cómo arreglar esto?

Respuesta1

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

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

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

Respuesta2

El error ocurrió porque el sistema interpretó su comando como el archivo C:\Programy filecomo un argumento de su comando. Obviamente no encuentra el archivo Programy devuelve este error.

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

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

o

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

Respuesta3

Aunque escribir la ruta entre comillas es lo más fácil y claro de leer, también puede usar los antiguos nombres cortos de DOS (dado que DOS seguía la denominación 8.3, los nombres de archivos 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 DIR /Xcomando.

Respuesta4

En Win10 puedes probar esto:

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

información relacionada