set grabber="C:\grabber.exe" for /f "usebackqDELIMS= " %%j in (`%grabber% -s file.txt -e "extract($raw,'grab=(.*)',1)"`) do set grab=%%j
我的问题是,我得到各种错误输出与“和”在一端或另一端和variables程序永远不会被正确拾取,因为它报告path无法find。
%grabber%是Xidel。
像这样,并且还演示了–output-format = cmd参数:
for /f %%j in ('^" xidel -s file.txt -e "grep:=extract($raw,'grab=(.*)',1)" --output-format^=cmd ^"') do %%j echo The value of grab = %grep%
但是,如果你的数据是简单的结构化为一个ini文件,你真的不需要xidel:
for /f %%j in (' findstr "grab=" file.txt ') do set "%%j"
…这只是找到file.txt中包含“grab =”的行,并将其转换为一个变量%grab%
我不认识西德尔,但是你可能不得不用一个脱字符号来逃避封闭的括号和等号
空格是默认的分隔符,不需要指定。
@Echo off Set grabber="C:\grabber.exe" for /f "usebackq" %%j in ( `%grabber% -s file.txt -e "extract($raw,'grab^=(.*^)',1^)"` ) do set grab=%%j