我需要从PowerShell(v1.0)脚本中识别正在执行的批处理文件的Process ID。有人可以建议这样做的方法吗?
谢谢,MagicAndi。
最佳答案
好吧,是否可行取决于您如何执行批处理文件。
通常,您可能会发现的唯一方法是查看用于启动批处理的命令行。如果您在Windows资源管理器中双击一个批处理文件,您将得到如下命令行
cmd /c ""C:\Users\Me\test.cmd" "
然后,在Powershell中,您可以在
Get-WMIObject
上使用Win32_Process
,其中包括命令行:PS Home:\> gwmi Win32_Process | ? { $_.commandline -match "test\.cmd" } | ft commandline,processid -auto
commandline processid
----------- ---------
cmd /c ""C:\Users\Me\test.cmd" " 1028
但是,如果直接从命令提示符启动批处理,则无法从外部发现正在运行的批处理以及是谁启动的。
关于powershell - 识别Powershell中执行批处理文件的PID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342292/