""令牌= 2"在这个时候出人意料。"从字符串中读取第二个单词时出现错误消息

时间:2015-09-09 19:22:08

标签: batch-file

我有一个循环变量%% P,其中包含字符串"&&&#34 ;;" XMLWrirter";" class";&# 34;&安培;&安培;" 当我读到第二个字即。 " XMLWrirter" ,我收到错误""令牌= 2"在这个时候出人意料。"

for "tokens=2" %%y in %%P do (
            set "grepstr=grep -l %%y %%K"
                )

任何人都可以帮助我吗?提前谢谢..

1 个答案:

答案 0 :(得分:2)

有一些问题:

  • 您需要说明切换/F,否则不支持tokens等选项;
  • for的集合(in关键字之后的部分)必须在括号内;
  • %%P中的字符串包含&&,它是一个条件命令分隔符;为此不引起麻烦我建议使用usebackq选项;

以下内容应该有效:

for /F "usebackq tokens=2 delims=;" %%y in ('%%P') do (
  set "grepstr=grep -l %%y %%K"
)