批处理:设置变量感叹号,里面有感叹号

Batch dos : Set variable exclamation mark with exclamation mark inside

如果标题有歧义,我很抱歉。

我想设置一个变量同时做空

像这样:

rem FILE_NAME was set before...
SET FILE_NAME=test
rem Same for COUNT
SET COUNT=1
SET FILE_NAME=!FILE_NAME:~-!COUNT!!

理论上如果我这样做:

echo !FILE_NAME!

它应该给我:tes

出现错误。我明白为什么,但我真的不知道采用哪种语法。而且我不能使用 %

我也试过了:

SET FILE_NAME=!FILE_NAME:~-^^!COUNT^^!!

但是没用,因为我想赋值变量不要转义显示。

你能帮我吗,因为我从今天早上开始就在寻找方法?

谢谢!

rem FILE_NAME was set before...
SET FILE_NAME=test
rem Same for COUNT
SET COUNT=1
for %%# in (!count!) do SET FILE_NAME=!FILE_NAME:~-%%#!