CMD如何为每个搜索结果设置不同的变量

时间:2019-04-23 20:46:30

标签: batch-file cmd command-line command-prompt

此代码通过Effective("flyer", 50%); Effective("flyer", 100%);

对此进行了修复
@For /F "Tokens=1*" %%A In ('FindStr /I "Effective(\"flyer\"," "file.cfg"^|Find /V /N ""')Do @For /F "Tokens=2Delims=,%% " %%C In ("%%B")Do @Set "flyer%%A=%%C"
@Set flyer[
@Pause

如何使其与Amount(5);和其他Amount(10);一起使用 请解释一下,如果可以...

1 个答案:

答案 0 :(得分:1)

您显然会用StrFind修改为FindStr,即将"Effective(\"flyer\","更改为"Amount(",然后调整Delim iter从 。 / p>

@For /F "Tokens=1*" %%A In ('FindStr /I "Amount(" "file.cfg"^|Find /V /N ""')Do @For /F "Tokens=2Delims=() " %%C In ("%%B")Do @Set "amount%%A=%%C"
@Set amount[
@Pause

由于这是与同一任务有关的几个问题之一,因此我强烈建议您打开命令提示符窗口,输入For /?FindStr /?Find /?和{ {1}},并读取每个输出。

请注意,在这种情况下,您可以进一步缩短代码,仅使用Set /?

Find

@For /F "Tokens=1-3Delims=[]() " %%A In ('Find /I /N "Amount("^<"file.cfg"')Do @Set "%%B[%%A]=%%C" @Set Amount[ @Pause 的代码也很容易调整以搜索Find

ConstructionTime(