Также можно использовать следующий код:
@echo off
for /F "usebackq tokens=1-8 delims=,:{} " %%A in ("stats.json") do (
if not "%%~A" == "" if not "%%~B" == "" set "myarray[%%A]=%%~B"
if not "%%~C" == "" if not "%%~D" == "" set "myarray[%%C]=%%~D"
if not "%%~E" == "" if not "%%~F" == "" set "myarray[%%E]=%%~F"
if not "%%~G" == "" if not "%%~H" == "" set "myarray[%%G]=%%~H"
)
set myarray
Примечание: Во второй строке после {}
есть два символа: горизонтальная табуляция и пробел.
Вывод:
myarray[1]=10%
myarray[2]=20%
myarray[3]=30%
myarray[4]=40%
Файл stats.json
может содержать с этим кодом одну строку с
{ 1: "10%", 2: "20%", 3: "30%", 4: "40%" }
или несколько строк, таких как
{
1: "10%",
2: "20%",
3: "30%",
4: "40%"
}
Не имеет значения, содержит ли файл stats.json
пробелы / табуляции или нет.
Также не имеет значения, содержит ли строка одну, две, три или все четыре пары переменная / значение.