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

Como chamar um programa que contém espaço em nome de ficheiro?

Tento executar uma linha de comando algo como isto: start /max C:\Program files\foo\ba.exe -somearguments.

Mas tenho um problema, o cmd retorna uma mensagem de erro algo como The system cannot found the C:\Program file e se eu colocar o C:\Program files\foo\ba.exe à volta de aspas, simplesmente corre uma nova janela cmd no modo MAX e não corre o programa.

Como corrigir isto?

Respostas (4)

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

Todos os nomes de ficheiros e caminhos que contenham espaços devem ser citados.

A seguir, em relação à sua pergunta, que tal declarar o caminho como:

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

O erro aconteceu porque o sistema interpretou o seu comando como o ficheiro C:\Program e file como um argumento do seu comando. Obviamente, não encontrou o ficheiro Program e devolveu este erro.

Para o corrigir, basta incluir "" no caminho entre as palavras com o carácter de espaço ou no caminho inteiro:

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

ou

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

Embora envolver o caminho entre aspas seja o mais fácil e claro de ler, também se pode usar os antigos nomes curtos do DOS (uma vez que DOS seguia 8,3 nomes, nomes de ficheiros com mais de 8 caracteres eram truncados com ~1) para ficheiros. Estes nomes não têm espaços. É possível ver os nomes curtos para ficheiros com o comando DIR /X.

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

Em Win10 pode experimentar isto:

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