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%