我正在尝试检查我的XenApp服务器上的spoolsv.exe进程状态。我已经将命令从我的XP工作站单独运行,但似乎无法通过文本文件进行迭代。这是我到目前为止所做的,将在我的CMD屏幕上填充服务器X-XX的内容是什么?
@echo off
FOR /F "usebackq" %%G IN ("C:\Documents and Settings\userid\Desktop\Scripts\servers.txt") DO echo tasklist /S %%G /u domain\userid | find "spoolsv.exe"
pause
我似乎无法让它正常运行,有时它只会在记事本中弹出我的servers.txt文件,甚至无法运行。我错过了什么?
答案 0 :(得分:1)
如图所示,任务列表永远不会运行。 “do echo tasklist ...”片段表示文字字符串“tasklist / S server-one ...”正在回显到stdout。由于这些文字字符串都不包含“spoolsv.exe”,因此“find”命令将不匹配任何内容。
请尝试以下方法:
@echo off
FOR /F "usebackq" %%G IN ("C:\Documents and Settings\userid\Desktop\Scripts\servers.txt") DO call :RunTasklistForOneServer %%G
pause
goto :EOF
:RunTasklistForOneServer
set ServerName=%1
echo Calling server %ServerName%
tasklist /S %ServerName% /u domain\userid | find "spoolsv.exe"