因此,我想通过单独设置的变量test
从number
字符串中提取2和3。但是,当我尝试执行此操作时,将输出:2
,应在何处输出23
。任何建议都会有所帮助,谢谢!
SET test=123
SET number=2
SET two=%test:~1,%number%%
ECHO two
答案 0 :(得分:0)
要解决此问题,必须对SETLOCAL EnableDelayedExpansion
语句使用!
和%
而不是SET
,
SET t=!test:~1,%number%!
如果我正确理解这一点,由于解释器认为该表达式,!
会使解释器读取test:~1, %number%
而不是之前分别读取test:~1
和number
的地方由于使用了两个%
符号而被关闭。换句话说,由于成对的%
符号,您认为您的意思是两个表达式。感谢Aacini链接this answer,这有助于我找到解决方案!