Wie kann man das Zeichen "-" durch "% _%" in einer Batchdatei ersetzen?

4594
David
set var=this-is-a-test  ECHO I would like to convert the value of this variable to "this%_%is%_%a%_%test" 

Ich habe versucht mit:

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

Funktioniert aber nicht :(

Bitte helfen

1

1 Antwort auf die Frage

2
Confuzing

Aufgrund der Art und Weise, wie Prozentwerte für Variablen verwendet werden, ist das, was Sie versuchen, durcheinander geraten. Eine Möglichkeit, dies zu umgehen, ist die verzögerte Expansion. Sie müssen dem Prozentsatz auch entgehen, indem Sie zwei von ihnen hintereinander setzen %%.

So etwas wie:

Setlocal EnableDelayedExpansion set _name=s-t-r-i-n-g set _name=!_name:-=%%_%%! echo %_name%