我正在尝试在远程计算机上搜索进程并传递退出代码,以便可以由另一个进程处理。所以如果进程存在输出退出代码1,如果不做什么。 我在另一篇文章的帮助下编写了下面的脚本。它适用于localmachine / local进程,但不为远程进程/机器返回任何内容。在下面的脚本中,如果我使用独立任务列表命令,它可以工作。
@echo off
setlocal enableDelayedExpansion
set "cmd=tasklist.exe /NH /s RemoteMachine /u RemoteMachine\administrator /p Password /fi "Imagename eq Install.exe""
for /F "delims=*" %%p in ('!cmd! ^| findstr "Install.exe" ') do (
echo exit 1
)
答案 0 :(得分:2)
我建议你改变返回退出代码的逻辑。像FINDSTR
这样的Windows命令使用不同的逻辑:如果匹配,则退出代码为0,如果没有匹配,则为1.并且因为逻辑已在FINDSTR
中实现,可以使用:
@tasklist.exe /NH /s RemoteMachine /u RemoteMachine\administrator /p Password /fi "Imagename eq Install.exe" | findstr "Install.exe" >nul