Как вызвать программу, в имени файла которой есть пробел?

Как вызвать программу, в имени файла которой есть пробел?

Я попытался запустить командную строку примерно так: start /max C:\Program files\foo\ba.exe -somearguments.

Но у меня возникла проблема: cmd возвращает сообщение об ошибке, похожее на следующее: The system cannot found the C:\Program fileи если я поставлю C:\Program files\foo\ba.exeкавычки, то он просто запустит новое окно cmd в режиме MAX и не запустит программу.

Как это исправить?

решение1

Все имена файлов и пути, содержащие пробелы, должны быть заключены в кавычки.

Далее, относительно вашего вопроса, как насчет указания пути следующим образом:

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

решение2

Ошибка произошла из-за того, что система интерпретировала вашу команду как файл C:\Programи fileкак аргумент вашей команды. Очевидно, она не находит файл Programи возвращает эту ошибку.

Чтобы исправить это, просто добавьте ""в путь между словами символ пробела или во весь путь:

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

или

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

решение3

Хотя заключение пути в кавычки является самым простым и понятным для чтения, вы также можете использовать старые короткие имена DOS (так как DOS следовал именованию 8.3, имена файлов длиннее 8 символов усекались с помощью ~1) для файлов. Эти имена не содержат пробелов. Вы можете увидеть короткие имена файлов с помощью команды DIR /X.

решение4

В Win10 можно попробовать следующее:

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

Связанный контент