Windows 批处理:命令 FOR /F 和标记,如何将变量从标记 X 一直排列到行尾?

Windows 批处理:命令 FOR /F 和标记,如何将变量从标记 X 一直排列到行尾?

好吧,我已经为此苦苦挣扎了好几天。我有一个稍微复杂的脚本,但最后我只需要设置一个从标记 4 到行尾的变量。基本上我运行一个命令,输出在开头有一些我不需要的单词。但对于简历,这就是我想要的:

set _EVer=Garbage Garbage Garbage This is an example
for /F "tokens=4*" %%G in ('echo "%_EVer%"') do set "_EVerC=%%G

我需要将得到的输出“垃圾垃圾这是一个例子”设置一个变量“这是一个例子”

我尝试了 tokens=4* 但只设置了第一个单词,没有设置其他任何单词。

欢迎提出任何意见 :) 谢谢

答案1

正如 JosefZ 评论的那样,解决方案是:

set _EVer=Garbage Garbage Garbage This is an example
for /F "tokens=3*" %%G in ("%_EVer%") do set "_EVerC=%%H"

设置 %%H 是修复方法。更多信息https://ss64.com/nt/for.html

“如果子句产生多个值,则会隐式定义额外的参数来保存每个值。这些参数将按字母顺序自动分配 %%H %%I %%J ...(隐式参数定义)”

相关内容