Como substituir o caractere “-” por “% _%” em um arquivo de lote?

1
set var=this-is-a-test

ECHO I would like to convert the value of this variable to "this%_%is%_%a%_%test"

Eu tentei com:

SET VAR=%VAR:-=%_%%

Mas não funciona: (

Por favor ajude

    
por David 03.08.2017 / 18:57

1 resposta

2

Por causa da maneira como os percentuais são usados para variáveis, isso atrapalha o que você está tentando fazer. Uma maneira de contornar isso é com a expansão atrasada. Você também tem que escapar do percentual, colocando dois deles em uma linha %% .

Algo como:

Setlocal EnableDelayedExpansion
set _name=s-t-r-i-n-g
set _name=!_name:-=%%_%%!
echo %_name%
    
por 03.08.2017 / 20:10