Batch file 需要一个批处理脚本来获取负责打开文件的进程的PID
我正在尝试创建一个批处理脚本,在该脚本中,我需要grep负责打开文件的进程,然后将该进程的PID存储在变量中Batch file 需要一个批处理脚本来获取负责打开文件的进程的PID,batch-file,Batch File,我正在尝试创建一个批处理脚本,在该脚本中,我需要grep负责打开文件的进程,然后将该进程的PID存储在变量中 然后完全杀死它。这就是我用来完成类似任务的方法 echo off FOR /F %%T IN ('Wmic process where^(Name^="Console.exe"^)get ProcessId^|more +1') DO ( SET /A ProcessId=%%T) &GOTO SkipLine
然后完全杀死它。这就是我用来完成类似任务的方法
echo off
FOR /F %%T IN ('Wmic process where^(Name^="Console.exe"^)get ProcessId^|more +1') DO (
SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
echo Killing Process at PID= %ProcessId%
taskkill /F /PID %ProcessId%
exit /b %errorlevel%
将Console.exe替换为要终止的任务。Console.exe是您将在taskmanager中看到的进程名称
作为旁注,这将杀死if可以找到的“Console.exe”的第一个实例,因此如果有多个进程在运行,它将只杀死第一个
创建了一个非常好的工具(),它允许您右键单击带有文件锁的文件并选择“解锁”,该工具将释放文件锁 负责打开哪个文件的进程的PID?。但是,您希望如何确定负责打开文件的流程?Cf.@rojoI的注释总是得到一个错误“output_-Measures-CQM2015-Tests.xml:进程无法访问该文件,因为它正被另一个进程使用…”然后我总是搜索文件“output_-Measures-CQM2015-Tests.xml”通过进程探索并获取使用此文件的进程的PID,然后终止该进程。我需要一个批处理脚本,通过该脚本我可以找到进程PID(使用该文件的进程)并终止该进程。使用
处理输出\u MU-Measures-CQM2015-Tests.xml | find/I“PID:
提供准确的所需信息,使用可轻松解析/F
。谢谢@ziddarth的推荐。我不会运行它,因为:1。文件是否始终由相同的进程名锁定?如果是,那么2。第一个实例真的锁定了问题中的文件吗?是的,我总是发现java.exe进程锁定了文件,然后我杀死了该java.exe进程,但更重要的是还有另一个java.exe进程在运行。我总是杀死与该文件相关联的那个进程(使用文件名搜索进程,并使用该进程的PID仅终止该进程)