Skip to content

关于fofax在Windows系统上的使用问题 #18

Description

@0xf4n9x

通过管道查询

Windows上通过管道进行查询,这种方式是优先推荐使用的,因为无需任何转义。

CMD

echo app="APACHE-Solr" | fofax.exe -fs 3

PowerShell

echo 'app="APACHE-Solr"' | fofax.exe -fs 5

通过参数指定查询

在 Windows 下使用一定要注意转义,Windows 终端中输入 " 不加转义会消失,所以这种查询方式稍显麻烦

fofax.exe -q 'app="APACHE-Solr"' 		# 输入的内容
FoFa input Query of: app=Grafana 		# 程序实际接收的内容

解决这个问题需要转义,可以添加 -debug 开启详细调试模式。并且在 Windows 系统上,使用不同的终端软件,命令也是有所不同。

在CMD终端上,-q 后面不可以添加单引号 '

fofax.exe -q app=\"APACHE-Solr\" -fs 5

而在 PowerShell 上,-q 后面不仅需要添加单引号,而且对于双引号也要进行转义。

fofax.exe -q 'app=\"APACHE-Solr\"' -fs 5

复杂的查询

当查询语句中存在一些特殊符号(例如 & 或者 |),此时在原生 CMD 终端中无法完成正常的查询,但在 PowerShell 中可以通过管道正常查询。

echo 'app="APACHE-Solr" && country="CN"' | .\fofax.exe -fs 5
echo 'app="APACHE-Solr" && (country="FR" || country="CN")' | .\fofax.exe -fs 5

除此之外,如果有更复杂的查询语句,可以考虑使用文本查询的方式。

.\fofax.exe -qf .\query.txt -fs 5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions