0

在 COS 中,我想返回具有特定名称的所有服务。在命令运行命令 sc queryex type= service state= all | find /i "BFE" 它将显示服务名称。在 COS 中有 $ZF 可以接受命令,但它返回 0 不确定我做错了什么。

USER>s cmd = "sc queryex type= service state= all | find /i ""BFE"""

USER>W cmd
sc queryex type= service state= all | find /i "BFE"
USER>set rc=$zf(-2,cmd)

USER>W rc
0
4

2 回答 2

2

在 Caché 中,我们可以使用函数调用外部命令$zf,其中第一个参数可以是-1or -2。在哪里$zf(-1)等待,而命令将完成,因此,将是该命令的退出代码。如果成功创建了生成的进程,$zf(-2)则不等待并因此返回,否则返回。在您的情况下,您应该使用,因为您希望立即获得一些结果。但是您必须将任何输出重定向到某个临时文件并在调用后读取它。0-1$zf(-1)

于 2018-01-11T18:22:01.033 回答
0

我还要补充一点,$ZF(-1)and$ZF(-2)函数在最新版本中已被弃用。同时,您可以简单地附加>> resultfile.txtarg文件然后查看文件。但是,我会使用$ZF(-1)而不是$ZF(-2),它将命令作为子进程异步运行。

于 2018-08-03T23:57:16.890 回答