#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
)
)