2017-04-04 76 views
2
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。

回答

0

与此类似,也展示了--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)“抢=”并将其转换为一个变量%抢%

0

我不知道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 
+0

所以,这不仅是我,谁不知道该程序,在C的根目录中是否有一个grabber.exe? – LotPings

+0

如果我检查一下我的echoargs程序,它没有任何需要转义的东西,所有的参数都按原样传递。你在哪个环境工作? – LotPings