CMD如何为每个搜索结果设置不同的变量
CMD How to set different variables for each search result
此代码通过 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);
一起使用
如果可以请解释一下...
你显然会用 FindStr
将 Str
ing 修改为 Find
,即将 "Effective(\"flyer\","
更改为 "Amount("
,然后调整你的 Delim
从 ,% 到 () .
@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
由于这是与同一任务相关的几个问题之一,我强烈建议您打开命令提示符 window,输入 For /?
,FindStr /?
,Find /?
和 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(
:
@For /F "Tokens=1-3Delims=[]() " %%A In ('Find /I /N "ConstructionTime("^<"file.cfg"')Do @Set "%%B[%%A]=%%C"
@Set ConstructionTime[
@Pause
此代码通过 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);
一起使用
如果可以请解释一下...
你显然会用 FindStr
将 Str
ing 修改为 Find
,即将 "Effective(\"flyer\","
更改为 "Amount("
,然后调整你的 Delim
从 ,% 到 () .
@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
由于这是与同一任务相关的几个问题之一,我强烈建议您打开命令提示符 window,输入 For /?
,FindStr /?
,Find /?
和 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(
:
@For /F "Tokens=1-3Delims=[]() " %%A In ('Find /I /N "ConstructionTime("^<"file.cfg"')Do @Set "%%B[%%A]=%%C"
@Set ConstructionTime[
@Pause