批量使用变量子字符串中的变量

时间:2018-07-03 19:35:32

标签: batch-file

因此,我想通过单独设置的变量testnumber字符串中提取2和3。但是,当我尝试执行此操作时,将输出:2,应在何处输出23。任何建议都会有所帮助,谢谢!

SET test=123
SET number=2

SET two=%test:~1,%number%%

ECHO two

1 个答案:

答案 0 :(得分:0)

要解决此问题,必须对SETLOCAL EnableDelayedExpansion语句使用!%而不是SET

SET t=!test:~1,%number%!

如果我正确理解这一点,由于解释器认为该表达式,!会使解释器读取test:~1, %number%而不是之前分别读取test:~1number的地方由于使用了两个%符号而被关闭。换句话说,由于成对的%符号,您认为您的意思是两个表达式。感谢Aacini链接this answer,这有助于我找到解决方案!