哪些字符可以在cmd上转义以与Xidel脚本一起使用

时间:2018-08-19 21:59:51

标签: cmd xidel

使用Xidel抓取HTML:

for /f "usebackqDELIMS=" %a in (`^"xidel -s file.html -e 'json(//script[@type="application/ld+json"])/(string)()'^"`) do set "string=%a"

在CMD输出中运行它时,会给出:

  

/(string)()'“`)此时是意外的。

我假设我需要转义一些字符,在遵循本文档http://www.robvanderwoude.com/escapechars.php之后,我尝试了很多选择,将胡萝卜用于各种字符,将反斜杠用于[],但仍然会出现更多错误。

是否存在某个需要转义或更多的字符,或者根本不是这种情况?

1 个答案:

答案 0 :(得分:1)

我现在看到I wrongfully assumed you were on Linux。在这种情况下,您必须修正引号(请参见Examples#9和#10):

FOR /F "delims=" %%A IN ('xidel -s file.html -e "json(//script[@type='application/ld+json'
])/(string)()"') DO SET "string=%%A"

FOR /F "delims=" %%A IN ('xidel -s file.html -e "string:=json(//script[@type='application/
ld+json'])/(string)()" --output-format^=cmd') DO %%A

让Xidel为您分配变量。