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

Jak wywołać program, który w nazwie pliku zawiera spację?

Próbuję uruchomić wiersz poleceń coś w tym stylu: start /max C:\Program files\foo\ba.exe -somearguments.

Ale mam problem, cmd zwraca komunikat o błędzie coś jak The system cannot found the C:\Program file i jeśli umieszczę C:\Program files\foo\ba.exe w cudzysłowie, to po prostu uruchamia nowe okno cmd w trybie MAX i nie uruchamia programu.

Jak to naprawić?

Odpowiedzi (4)

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

Wszystkie nazwy plików i ścieżki, które zawierają spacje muszą być cytowane.

Następnie, w odniesieniu do twojego pytania, co powiesz na podanie ścieżki w następujący sposób:

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

Błąd wystąpił, ponieważ system zinterpretował twoją komendę jako plik C:\Program i file jako argument twojej komendy. Oczywiście nie znalazł on pliku Program i zwrócił ten błąd.

Aby go naprawić, wystarczy umieścić "" w ścieżce pomiędzy słowami ze znakiem spacji lub w całej ścieżce:

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

lub

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

Chociaż zawijanie ścieżki w cudzysłów jest najłatwiejsze i najbardziej czytelne, możesz także używać starych DOS-owych nazw skróconych (od czasu, gdy DOS zastosował nazewnictwo 8.3, nazwy plików dłuższe niż 8 znaków były obcinane przez ~1) dla plików. Nazwy te nie zawierają spacji. Możesz zobaczyć krótkie nazwy plików za pomocą polecenia DIR /X.

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

W Win10 możesz spróbować tego:

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