Jak obsługiwać pliki ze spacjami w skryptach wsadowych?

1

Tworzę plik wsadowy, aby uruchomić kilka programów, ale mam z tym problem pro gra mme.exe. Skrypt utknął

cd "C:\Program Files (x86)\Dir 1\Main"
start "pro gra mme.exe"

Podczas wykonywania pojawia się monit C:\Program Files (x86)\Dir 1\Main>. Co może być problemem? Dodam za pomocą podwójnych cudzysłowów, start "pro gra mme.exe"aby wyrównać odstępy.

Youbecks003
źródło
3
Jeśli pierwszy parametr startjest ujęty w cudzysłowy, jest traktowany jako tytuł. Więc trzeba dostarczać obojętne parametr: start "" "pro gra mme.exe".
AFH
Jaki masz błąd?
Jeff Zeitlin,
@AFH start bierze pierwszy argument w podwójnych cudzysłowach, ponieważ tytuł niezależnie od jego pozycji może być ostatnim.
LotPings,
@LotPings - nigdy tego nie widziałem: informacja pomocy ( start /?) mówi, że tytuł jest opcjonalnie cytowanym pierwszym parametrem. Właśnie przetestowałem go na Win10 i jest zgodny ze specyfikacją: start cmd "Title"ignoruje „Tytuł”.
AFH
@AFH Właśnie przetestowałem moją rzeczywistą Win 10 i wydaje się, że start /D "%USERPROFILE%" "my title" cmdteraz działa nowe zachowanie - i jestem pewien, że przez długi czas to nie działało. Teraz zależy to od używanej wersji systemu Windows
LotPings,

Odpowiedzi:

2

Dodam za pomocą podwójnych cudzysłowów, start "pro gra mme.exe"aby wyrównać odstępy

Proszę przeczytać pomoc dla start.

Syntax

  START "title" [/D path] [options] "command" [parameters]

W twoim przypadku powłoka "pro gra mme.exe"jest interpretowana przez tytułcmd jako tytuł .

Zamiast tego możesz użyć następującego polecenia:

start "" "pro gra mme.exe"

Uwaga:

Zawsze dołączaj TYTUŁ, może to być prosty ciąg znaków "My Script"lub para pustych cudzysłowów""

Zgodnie z dokumentacją Microsoft tytuł jest opcjonalny, ale w zależności od innych wybranych opcji możesz mieć problemy, jeśli zostanie pominięty.

Źródło - start


Dalsza lektura

DavidPostill
źródło
1
Raz na jakiś czas pojawia się narzędzie, które bawi mnie swoim dziwnym wyglądem.
Kamil Maciorowski