Windows 如何判断进程是通过批处理还是通过脚本文件运行?

Windows 如何判断进程是通过批处理还是通过脚本文件运行?,windows,batch-file,process,Windows,Batch File,Process,如何判断特定进程是否正在使用批处理文件运行 例如,如何判断notepad.exe是否正在运行?考虑以下建议(在批处理文件中运行): 简单,但有效 tasklist /? 将向您展示许多优秀的过滤和管理输出的选项 findstr /? 还将向您展示一组很棒的选项,用于搜索和过滤任务列表的输出 我希望这会有所帮助。Powershell具有内置功能获取过程 Get过程将告诉您所有的过程。如果您希望使用特定过滤器进行过滤,请使用: 获取进程|?{$\.Name-eq'Notepad} 截图仅供参考:

如何判断特定进程是否正在使用批处理文件运行


例如,如何判断notepad.exe是否正在运行?

考虑以下建议(在批处理文件中运行):

简单,但有效

tasklist /?
将向您展示许多优秀的过滤和管理输出的选项

findstr /?
还将向您展示一组很棒的选项,用于搜索和过滤任务列表的输出


我希望这会有所帮助。

Powershell具有内置功能获取过程 Get过程将告诉您所有的过程。如果您希望使用特定过滤器进行过滤,请使用:

获取进程|?{$\.Name-eq'Notepad}

截图仅供参考:

在cmd提示符中键入Powershell:

运行上述查询。如果记事本正在运行。它将向您显示:


希望对您有所帮助…

您可以在批处理文件中执行以下操作:

这本书的灵感来源于

@echo关闭
正在运行的进程的标题检查。
模式con cols=50行=3
设置“MyProcess=notepad.exe”
设置延迟=5
:Main
cls
任务列表/FI“IMAGENAME eq%MyProcess%”查找/I“%MyProcess%”nul&&(
回声&彩色9A
回显进程“%MyProcess%”正在运行!
)||(
回声和彩色4C
回显进程“%MyProcess%”未运行!
)
超时/T%延迟%/nobreak>nul
后藤大街

谢谢!回答得很好,只有一个问题:这项任务的执行时间需要10秒以上!有没有什么方法可以在更短的时间内完成这项任务?你有很多进程在运行吗?对我来说,它运行得非常快……是的,我倾向于一次运行相当多的进程。这可能是原因所在。我见过
任务列表
被禁用的情况哦。我没有解决方案。抱歉…在cmd提示符中键入第一个powershell。然后运行我粘贴的上述命令。如果直接使用cmd提示符,则管道将无法工作,因为在管道之后作为输入传递的值是powershell cmdlet。这就是它不返回任何内容的原因。
findstr /?