Совет 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