[bat] Co to za polecenie?

W pewnym forum spotkałem się z taką komenda “setlocal enabledelayedexpansion” w skrypcie bat;

Co to polecenie oznacza ???

setlocal enabledelayedexpansion

Chodzi o widoczność zmiennych w skrypcie,lokalne są ograniczone do jednego skryptu,globalne są używane wtedy,gdy masz kilka skryptów i jeden wywołuje drugi za pomocą komendy call

endlocal kończy obowiązywanie deklaracji,możesz tak deklarować zmienne użyte tylko w jednym bloku

http://ss64.com/nt/setlocal.html

http://batcheero.blogspot.com/2007/06/h … nsion.html

@Johny: Akurat tutaj bardziej chodzi o enabledelayedexpansion, które pozwala na zmianę wartości zmiennej w pętli.

wpisz w cmd:

set /?

na samym końcu:

set LIST=

for %i in (*) do set LIST=!LIST! %i

echo %LIST%

!LIST! - to jest ten “delayed variable expansion”