此代码通过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);
一起使用
请解释一下,如果可以...
答案 0 :(得分:1)
您显然会用Str
将Find
修改为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(