17/03/10 16:05
teomangia
Ciao.
Nel creare un file BATCH ho notato degli strani comportamenti all'interno di un ciclo FOR.
In particolare sto cercando di leggere l'ultima riga del file BOOT.INI:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn
Se eseguo
for /f "delims= tokens=*" %%G in (%homedrive%\boot.ini) do call :sub_routine "%%~G"
nella sub_routine non riesco ad associare la riga intera al parametro %1 ma ottengo solo
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
Notato questo comportamento anomalo, ho ovviato eliminando la chiamata alla sub_routine e specificando il contenuto della stessa tra parentesi, in questo modo:
for /f "delims= tokens=*" %%G in (%homedrive%\boot.ini) do (corpo sub_routine)
Adesso, con incredibile stupore noto che non mi incrementa più un contatore che utilizzo nel corpo della sub_routine.
Grazie.
Nel creare un file BATCH ho notato degli strani comportamenti all'interno di un ciclo FOR.
In particolare sto cercando di leggere l'ultima riga del file BOOT.INI:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn
Se eseguo
for /f "delims= tokens=*" %%G in (%homedrive%\boot.ini) do call :sub_routine "%%~G"
nella sub_routine non riesco ad associare la riga intera al parametro %1 ma ottengo solo
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft
Notato questo comportamento anomalo, ho ovviato eliminando la chiamata alla sub_routine e specificando il contenuto della stessa tra parentesi, in questo modo:
for /f "delims= tokens=*" %%G in (%homedrive%\boot.ini) do (corpo sub_routine)
Adesso, con incredibile stupore noto che non mi incrementa più un contatore che utilizzo nel corpo della sub_routine.
Grazie.
aaa