RosettaCodeData/Task/Read-a-configuration-file/Batch-File/read-a-configuration-file.bat
2026-04-30 12:34:36 -04:00

30 lines
702 B
Batchfile

@echo off
setlocal enableextensions enabledelayedexpansion
for /f "delims==" %%a in ('set 2^>nul') do set "%%a="
(set #lf=^
)
for /f "usebackq tokens=1* eol=#" %%i in ("%~1") do (
set "#temp=%%i%%j"
if "!#temp:~0,1!"==";" (set !#temp:~1!=false) else (
set "#temp=%%j"
call :strip !#temp!
if "!#temp!"=="" (set %%i=true) else (
for %%l in ("!#lf!") do set "#list=!#temp:,=%%~l!"
if "!#temp!"=="!#list!" (set "%%i=!#temp!") else (
set #count=1
for /f "tokens=*" %%l in ("!#list!") do (
call :strip %%l
set "%%i(!#count!)=!#temp!"
set /a #count+=1
)
)))
)
set #lf=
set #count=
set #temp=
set #list=
set
goto:eof
:strip %= strip whitespaces =%
set "#temp=%*"