在COS中,我想返回具有特定名称的所有服务。在命令中运行命令sc queryex type = service state = all |找到/ 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
答案 0 :(得分:2)
在Caché中,我们可以使用函数$zf
调用外部命令,其中第一个参数可以是-1
或-2
。在$zf(-1)
等待的情况下,命令将完成,结果将是此命令的退出代码。 $zf(-2)
不等待,因此如果成功创建了生成的进程,则返回0
,如果没有,则-1
。$zf(-1)
。在您的情况下,您应该使用null
,因为您希望立即获得一些结果。但是你必须将任何输出重定向到一些临时文件并在调用后读取它。
答案 1 :(得分:0)
我还要补充一点,$ZF(-1)
和$ZF(-2)
函数在最新版本中已过时。同时,您可以简单地将>> resultfile.txt
附加到arg
,然后查看文件。但是,我将使用$ZF(-1)
而不是$ZF(-2)
,后者将命令作为子进程异步运行。