Autor | Zpráva | ||
---|---|---|---|
tito100 Profil |
#1 · Zasláno: 22. 3. 2010, 11:29:34
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 |
#2 · Zasláno: 22. 3. 2010, 12:11:08
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! ) ) |
||
Časová prodleva: 9 měsíců
|
|||
vlado Profil * |
#3 · Zasláno: 11. 12. 2010, 00:03:26
prečo je to tak?
|
||
ah01 Profil |
#4 · Zasláno: 11. 12. 2010, 01:01:50
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 * |
#5 · Zasláno: 11. 12. 2010, 20:02:19
ah01:
Funguje a ďakujem. Zameral som sa na tie !! a nevšimol som setlocal :( |
||
Časová prodleva: 13 let
|
0