Совет txtechhelp близок:
==> set a=dupa;jasiu;karuzela;
==> echo %a:;=&echo.%
dupa
jasiu
karuzela
==>
Однако вам нужно экранировать символ & ampersand в команде set используя либо общий экранирующий символ (^ caret):
==> set b=%a:;=^&echo.%
==> echo %b%
dupa
jasiu
karuzela
или используя двойные кавычки:
==> set "c=%a:;=&echo.%"
==> echo %c%
dupa
jasiu
karuzela
Вы можете перебрать переменную %a% в цикле for.
Это просто, если %a% не содержит других разделителей, таких как пробел, табуляция, запятая или знак равенства:
==> for %f in (%a%) do @echo %f
dupa
jasiu
karuzela
==>
В противном случае, если %a% содержит некоторые другие разделители, такие как пробел, символ табуляции, запятая или знак равенства:
==> set a=dupa;jasiu;karu zela;
==> for %f in (%a%) do @echo %f
dupa
jasiu
karu
zela
==> for %f in ("%a:;=";"%") do @if not "%~f"=="" echo.%~f
dupa
jasiu
karu zela
==>
Обратите внимание на параметр цикла %f (приведенные выше примеры скопированы и вставлены из открытого командного окна cmd ).
В пакетном файле обозначьте его правильно, используя удвоенный знак процента как %%f:
for %%f in (%a%) do echo %%f