DOS子串,其中Length是一个变量

时间:2011-10-14 18:41:48

标签: variables dos substring

我正在尝试从DOS批处理脚本中提取变量中的子字符串。据我所知,人们用以下语句做到这一点:

set substring=%original_string:~2,3%  

其中2将是从零开始的偏移量,3将是要提取的子字符串的长度。到目前为止,这么好,对吗?

但是,我需要我的长度是一个变量,而不是一个明确的数字。我几乎可以肯定这可以做到,但正确的语法让我望而却步: - (

我试过的是......

set string=string

set length=3

set substring=%string:~0,%length%%

echo substring is: %substring%

我得到的是......

substring is: length%

我已经尝试删除1组百分号,但是......没有好处。

有谁知道我是否以及如何做我想做的事情?

THX!

1 个答案:

答案 0 :(得分:1)

将其更改为:

call set substring=%%string:~0,%length%%%