0

在 w7 上,我想使用 psservice 接收服务的状态,因为我想稍后在远程计算机上执行此操作。

我尝试先让批处理脚本在本地机器上运行。

我有两个问题:第一个问题是“D:/PsService.exe 查询服务器”将查询包含名称“服务器”的所有服务。我只想查询一项特定的服务(在本例中名为“Server”。

另一个更大的问题是我的批处理脚本根本不起作用。它只是“死掉”(CMD 窗口立即关闭而不执行 pause 命令,这使得调试非常困难)。

我想将服务的状态存储在一个变量中,稍后我将使用它来比较示例(IF %Status% EQ "RUNNING")。

到目前为止我的代码:

FOR /F token=3 %%i IN ('D:/PsService.exe query Server 2> NUL | find /I "STATE"') DO   ( SET Status=%%i )
echo %Status%
pause

为什么 CMD 就死了,我做错了什么?

4

2 回答 2

2

以下将为您工作

   @ECho off
   for /F "tokens=3 delims=: " %%H in ('D:/PsService.exe query "SERVICE" ^| findstr "        STATE"') do echo %%H
于 2013-02-18T22:12:31.883 回答
1
echo off
set /P srvname="Enter the servername  :"
echo %srvname%
set /P srvice="Enter the Service name :"
echo %srvice%
psservice.exe \\%srvname% query  %srvice% >a.txt
a.txt

pause
于 2013-06-02T17:34:39.093 回答