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

Come chiamare un programma che contiene spazio nel nome del file?

Ho cercato di eseguire una linea di comando qualcosa come questo: start /max C:\Program files\foo\ba.exe -somearguments.

Ma ho un problema, il cmd restituisce un messaggio di errore qualcosa come The system cannot found the C:\Program file e se metto lo C:\Program files\foo\ba.exe tra virgolette, esegue semplicemente una nuova finestra cmd in modalità MAX e non esegue il programma.

Come risolvere questo problema?

Risposte (4)

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

Tutti i nomi di file e i percorsi che contengono spazi devono essere citati.

Poi, riguardo alla tua domanda, che ne dici di dichiarare il percorso come:

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

L'errore è successo perché il sistema ha interpretato il tuo comando come il file C:\Program e file come argomento del tuo comando. Ovviamente non trova il file Program e restituisce questo errore.

Per risolverlo, basta includere "" nel percorso tra le parole con il carattere spazio o sul percorso intero:

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

Anche se avvolgere il percorso tra virgolette è il più facile e chiaro da leggere, si possono anche usare i vecchi nomi brevi del DOS (poiché il DOS seguiva la denominazione 8.3, i nomi dei file più lunghi di 8 caratteri venivano troncati con ~1) per i file. Questi nomi non hanno spazi. Potete vedere i nomi brevi dei file con il comando DIR /X.

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

In Win10 puoi provare questo:

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