Batch file 在批处理的变量子字符串中使用变量
所以我想通过一个单独设置的变量,Batch file 在批处理的变量子字符串中使用变量,batch-file,Batch File,所以我想通过一个单独设置的变量,number从test字符串中提取2和3。但当我尝试这样做时,它会输出:2它应该在哪里输出23。任何建议都有帮助,谢谢 SET test=123 SET number=2 SET two=%test:~1,%number%% ECHO two 要解决此问题,必须使用SETLOCAL EnableDelayedExpansion和而不是%对于SET语句,如下所示 SET t=!test:~1,%number%! 如果我理解正确的话,使解释器读取test:~1
number
从test
字符串中提取2和3。但当我尝试这样做时,它会输出:2
它应该在哪里输出23
。任何建议都有帮助,谢谢
SET test=123
SET number=2
SET two=%test:~1,%number%%
ECHO two
要解决此问题,必须使用
SETLOCAL EnableDelayedExpansion
和
而不是%
对于SET
语句,如下所示
SET t=!test:~1,%number%!
如果我理解正确的话,
使解释器读取test:~1,%number%
而不是之前分别读取test:~1
和number
,因为解释器认为表达式是关闭的,因为使用了两个%
符号。另一方面,由于成对的%
符号,它认为您指的是两个表达式。感谢Aacini的链接帮助我找到了解决方案 阅读网站上的解释。虽然主题不同,但解决方案是相同的…你以前问过同样类型的问题。是的。与您的一个相同的概念<代码>设置运算符=!操作员[%operator%]代码>谢谢,我问了另一个关于不同代码位的特定功能的问题,是不是搞错了?我可以请你投票表决吗?