пакет: для команды для чтения списка элементов

#batch-file

#пакетный файл

Вопрос:

У меня простая задача для простой подпрограммы, но я могу понять синтаксис команды с кавычками и кавычками.

В пакетном файле:

 call :mysubroutine "text1;text2;text with spaces;text4" "option1A|option2A;option2B||option with spaces4A;optionwitoutspaces4B"
  

Я хочу напечатать что-то вроде:

 1: text1   option1A 
2: text2   option2A;option2B 
3: text with spaces  
4: text4   option with spaces4A;optionwithoutspaces4B
  

вы можете мне помочь?

Комментарии:

1. Здесь буквально десятки предыдущих сообщений, в которых демонстрируется, как использовать команду for, обрабатывать кавычки и анализировать текст. Вы вообще прилагали какие- либо усилия, чтобы сделать это самостоятельно?

Ответ №1:

 @echo off
setlocal EnableDelayedExpansion

call :mysubroutine "text1;text2;text with spaces;text4" "option1A|

option2A;option2B||option with spaces4A;optionwitoutspaces4B"
goto :EOF

:mysubroutine
set "first=%~1"
set "second=%~2"
set i=0
for %%a in ("%first:;=" "%") do (
   set /A i =1, j=0
   for %%b in ("%second:|=" "%") do (
      set /A j =1
      if !i! equ !j! echo !i!. %%~a   %%~b
   )
)