Batch file 如何从Jenkins检查批处理脚本是否在Windows从属系统中运行

Batch file 如何从Jenkins检查批处理脚本是否在Windows从属系统中运行,batch-file,jenkins,Batch File,Jenkins,我想检查批处理脚本是否在Jenkins的Windows从机中运行。通过执行以下命令,我在命令提示符下找到了一种方法: tasklist/v/fi“WINDOWTITLE eq title\u batch\u script” 但是,如果我使用Jenkins的“执行Windows批处理命令”构建步骤运行该命令,则该命令不起作用。我想原因是以下限制 注意:查询远程计算机时不支持“WINDOWTITLE”和“STATUS”筛选器 我也用下面的命令尝试了Jenkins powershell插件,但没有看到

我想检查批处理脚本是否在Jenkins的Windows从机中运行。通过执行以下命令,我在命令提示符下找到了一种方法:

tasklist/v/fi“WINDOWTITLE eq title\u batch\u script”

但是,如果我使用Jenkins的“执行Windows批处理命令”构建步骤运行该命令,则该命令不起作用。我想原因是以下限制

注意:查询远程计算机时不支持“WINDOWTITLE”和“STATUS”筛选器

我也用下面的命令尝试了Jenkins powershell插件,但没有看到WINDOWTITLE/MAINWINDOWTITLE的值。如果我直接在Widows计算机中运行,则相同的命令将显示MAINWINDOWTITLE

Get Process |格式化表id、名称、mainwindowtitle–自动调整大小


请问有没有办法克服这个问题?或者用另一种方法来确定批处理脚本是否正在运行?

您需要列出用于启动每个进程的命令行,并搜索其中包含批处理文件名称的条目。有不止一种方法可以做到这一点。我想到了WMIC,但我没有时间查找语法。@jwdonahue:谢谢您的输入。这正是我的问题。如何从远程机器执行此操作?WMIC不提供windowname()。您不需要窗口名(除非批处理脚本更改了该名称?)。您正在启动流程的命令行中查找批处理文件的名称。你可以通过WMIC、powershell和至少一个我不记得名字的工具来实现这一点。因此,对于以cmd.exe为映像名的每个正在运行的进程,请在传递给cmd.exe的命令行中搜索批处理文件名。