O conselho da txtechhelp está perto:
==> set a=dupa;jasiu;karuzela;
==> echo %a:;=&echo.%
dupa
jasiu
karuzela
==>
No entanto, você precisa excluir o caractere &
"e comercial" em um comando set
usando o caractere de escape geral ( ^
caret):
==> set b=%a:;=^&echo.%
==> echo %b%
dupa
jasiu
karuzela
ou usando aspas duplas:
==> set "c=%a:;=&echo.%"
==> echo %c%
dupa
jasiu
karuzela
Você pode passar o loop pela variável %a%
em um for
loop .
É simples se %a%
não contém outros delimitadores como espaço , guia , vírgula ou é igual a um sinal :
==> for %f in (%a%) do @echo %f
dupa
jasiu
karuzela
==>
Caso contrário, se %a%
contiver algum outro (s) delimitador (es) como espaço , guia , < em> vírgula ou é igual a um sinal :
==> 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
==>
Por favor, note o parâmetro %f
loop (exemplos acima copiados & colados de uma janela de comando cmd
aberta).
Em um arquivo em lote , denomine-o corretamente usando sinal de porcentagem duplicada como %%f
:
for %%f in (%a%) do echo %%f