set grabber="C:\grabber.exe"
for /f "usebackqDELIMS= " %%j in (`%grabber% -s file.txt -e "extract($raw,'grab=(.*)',1)"`) do set grab=%%j
我的问题是,我得到各种错误输出与“和”在一端或另一端和变量程序永远无法正确拾取,因为它报告路径不能找到。Windows CLI |什么是这批线的正确qoutes /语法
%采集%是Xidel。
set grabber="C:\grabber.exe"
for /f "usebackqDELIMS= " %%j in (`%grabber% -s file.txt -e "extract($raw,'grab=(.*)',1)"`) do set grab=%%j
我的问题是,我得到各种错误输出与“和”在一端或另一端和变量程序永远无法正确拾取,因为它报告路径不能找到。Windows CLI |什么是这批线的正确qoutes /语法
%采集%是Xidel。
与此类似,也展示了--output格式= 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的包含线(S)“抢=”并将其转换为一个变量%抢%
我不知道Xidel,但您可能逃跑的右括号和等号以尖号^
的空间被默认的分隔符,没有按不需要指定。
@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
所以,这不仅是我,谁不知道该程序,在C的根目录中是否有一个grabber.exe? – LotPings
如果我检查一下我的echoargs程序,它没有任何需要转义的东西,所有的参数都按原样传递。你在哪个环境工作? – LotPings