Batch file 批处理dos:设置内有感叹号的变量感叹号

Batch file 批处理dos:设置内有感叹号的变量感叹号,batch-file,variable-assignment,Batch File,Variable Assignment,如果标题不明确,我很抱歉 我想同时设置一个短接它的变量 大概是这样的: 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=!FI

如果标题不明确,我很抱歉

我想同时设置一个短接它的变量

大概是这样的:

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^^!!
但它是无用的,因为我想分配变量,而不是通过转义来显示它

你能帮帮我吗,因为我从今天早上就开始找路了


谢谢大家!

所有这部分是if条件还是for循环?所有这部分是if条件还是for循环?
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:~-%%#!