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%