如何在批处理文件中用“%_%”替换字符“-”?

Dav*_*vid 4 batch string code batch-file

set var=this-is-a-test

ECHO I would like to convert the value of this variable to "this%_%is%_%a%_%test"
Run Code Online (Sandbox Code Playgroud)

我尝试过:

SET VAR=%VAR:-=%_%%
Run Code Online (Sandbox Code Playgroud)

但不起作用:(

请帮忙

Con*_*ing 5

由于百分比用于变量的方式,它会扰乱您想要做的事情。解决这个问题的一种方法是延迟扩张。您还必须通过将其中两个排成一行来转义百分比%%

就像是:

Setlocal EnableDelayedExpansion
set _name=s-t-r-i-n-g
set _name=!_name:-=%%_%%!
echo %_name%
Run Code Online (Sandbox Code Playgroud)