尝试创建一个批处理文件,该文件根据句子中的单词数创建一串数字。
我有一个包含不同数量单词的变量,例如: sentence="this is a sentence"
我需要生成的字符串是“1 2 3 4”,因为句子中有 4 个单词。
同样, sentence="this is a long sentence because Reasons" 会生成 "1 2 3 4 5 6 7"
我正在尝试这样的事情:
SET sentence=this is a longer sentence because reasons
SET count=
SET numbers=1
FOR %%a IN (%sentence%) DO (
SET "numbers=%numbers% %count%" & SET /A count+=1
)
ECHO Resulting number string: %numbers%
ECHO Counter: %count%
...继续将增加的计数变量附加到数字的末尾。因此,每次 FOR 循环运行时,它都会执行“1 2”、“1 2 3”、“1 2 3 4”等。
计数器工作正常,报告“计数器:7”但字符串只报告“结果数字字符串:1”
它没有将计数器添加到末尾......当我将它附加时,它会导致“1 7”而不是“1 2 3 4 5 6 7”
这与我是否使用 setlocal EnableDelayedExpansion 无关。
我在这里做错了什么?
(编辑:这个问题与在字符串末尾追加一个递增数字有关。正如我在原始问题中提到的,EnableDelayedExpansion 启用或禁用没有区别)