Autor Zpráva
tito100
Profil
zdravým. pracujem prvý den z cmd. a nastali mi jedna záhada.
FOR /D %%S IN (*) DO (
  ECHO test %%S
  CD %source_dir%\%%S
  SET numbFileName=0
  FOR %%D IN (*TIF) DO (
    SET /A numbFileName+=1
    ECHO %numbFileName%
  )
)

ide o to, že mi to nevypíše obsah premennej numbFileName ale len samé nuly.
ked použijem namiesto ECHO %numbFileName% len set numbFileName tak vypíše skutočný obsah, a správny.
čím to bude ?

vopred dakujem
tito100
Profil
tak už som na to prišiel. vá to byt takto :
setlocal EnableDelayedExpansion
FOR /D %%S IN (*) DO (
  ECHO test %%S
  CD %source_dir%\%%S
  SET numbFileName=0
  FOR %%D IN (*TIF) DO (
    SET /A numbFileName+=1
    ECHO !numbFileName!
  )
)
vlado
Profil *
prečo je to tak?
ah01
Profil
vlado:
Google nefunguje?

Setting Delayed Expansion will cause each variable to be expanded at execution time rather than at parse time“ – http://ss64.com/nt/setlocal.html#enabledelayedexpansion
vlado
Profil *
ah01:
Funguje a ďakujem. Zameral som sa na tie !! a nevšimol som setlocal :(

Vaše odpověď

Mohlo by se hodit

Zvažte, zda se neobrátit na specializované fórum, toto se zabývá především webovou problematikou.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0