jest używany dla właściwej składni. Wyobraź sobie, że chcesz sprawdzić, czy zmienna jest pusta:
if %var%== echo bla
oczywiście zawiedzie. (Zła składnia)
Zamiast:
if "%var%"=="" echo bla
działa dobrze.
Kolejny „złe”: chcesz sprawdzić zmienną, ale może być puste:
if %var%==bla echo bla
działa dobrze, jeśli% var% nie jest pusta. Ale jeśli to jest pusty, linia będzie interpretowane jako:
if ==bla echo bla
oczywiście problem składni. Ale
if "%var%"=="bla" echo bla
byłyby interpretowane jako
if ""=="bla" echo bla
poprawnej składni.
Zamiast "
można użyć innych znaków. Niektórzy lubią [%var%]
niektóre użycie !
lub .
Niektórzy używają tylko jeden char zamiast otaczający ciąg jak if %var%.==.
Najczęstszym otacza z "
(bo nie zawiedzie, jeśli var zawiera niecytowany trucizny charakter jak &.) *), ale to zależy od osobistego podmuchu.
*) Dzięki dbenham, jest to bardzo ważna informacja
Więc cytaty „” i [] można stosować zamiennie dla celów pustych varaibles? Nie ma różnicy? Pomyślałem, że być może jest jakaś zaleta używania [] w porównaniu do "" – Jim
@Jim - Nie ma żadnej korzyści z używania '[% var%] == [value]'. Będzie działał równie dobrze jak ']% var% [==] value [' lub 'XXX% var% == XXXvalue'. Używanie "% var%" == "value" jest zaletą, ponieważ nie zawiedzie, jeśli var zawiera niecytowaną postać trucizny, np. &. – dbenham
@dbenham - jednak * zawiedzie *, jeśli 'var' zawiera niecytowany znak trucizny, taki jak' '' Rozważ 'SET var =" foo bar "', który staje się 'if" "foo bar" "==" " '; które prawdopodobnie nagrodzi Cię' bar "= "=" "było nieoczekiwane w tej chwili." ... – jimbobmcgee