windows - tokens - usebackq
Lote de archivos para/tokens (1)
¿Puede alguien explicar exactamente cómo funciona el siguiente código, línea por línea? Estoy realmente perdido. He estado tratando de aprender a usar el comando FOR pero no entiendo esto.
@echo off
for /f "tokens=* delims= " %%f in (myfile) do (
set line=%%f
call :processToken
)
goto :eof
:processToken
for /f "tokens=1* delims=/" %%a in ("%line%") do (
echo Got one token: %%a
set line=%%b
)
if not "%line%" == "" goto :processToken
goto :eof
for /f "tokens=* delims= " %%f in (myfile) do
Esto lee un archivo línea por línea, eliminando los espacios iniciales (gracias, jeb).
set line=%%f
establece entonces la variable de line
a la línea que acaba de leer y
call :procesToken
Llama a una subrutina que hace algo con la línea.
:processToken
Es el inicio de la subrutina mencionada anteriormente.
for /f "tokens=1* delims=/" %%a in ("%line%") do
luego dividirá la línea en /
, pero deteniendo la tokenización después del primer token.
echo Got one token: %%a
dará salida a ese primer token y
set line=%%b
establecerá la variable de line
al resto de la línea.
if not "%line%" == "" goto :processToken
Y si la line
aún no está vacía (es decir, todos los tokens procesados), vuelve al inicio, continuando con el resto de la línea.