Мне нужен быстрый способ вставить несколько строк структурированных данных в файл летучей мыши Я использовал массив с именем myarray для сканирования и «чтения» моих значений, но он не работает, и я не нахожу «т понять, почему Это мой код:for-loop and delimeters
@echo off
set myarray[1]=myfield1#myfield2#mysubfield31;mysubfield32#myfield4
for /f "tokens=1-9 delims=#" %%a in ('echo %myarray[1]%') do (
echo field1 is %%a
echo field2 is %%b
echo field3 is %%c
echo field4 is %%d
for /f "tokens=1-9 delims=;" %%k in ('echo %%c') do (
echo subfield3 is %%k
echo subfield3 is %%l
)
)
выход, как это:
field1 is myfield1
field2 is myfield2
field3 is mysubfield31 mysubfield32
field4 is myfield4
subfield3 is mysubfield31 mysubfield32
subfield3 is
почему я не могу получить просто:
subfield3 is mysubfield31
subfield3 is mysubfield32
где находится «;» используется в качестве деминера во втором для?
Неправильно! Точка с запятой рассматривается как разделитель _ в простой (опция no/F) FOR command_. В команде 'FOR/F' разделители - это те, которые помещаются в опцию' delims = ... '. – Aacini
'for/f 'tokens = 1-4 delims =;" % j in ("a; b; c; d") do echo% j% k% l% m' – foxidrive
Вы правы, что в некоторых случаях это разделитель, но вы не правы предлагать удалить его из "delims знак равно как решение. – foxidrive