![如何在任务管理器中识别正在运行的批处理文件?](https://linux22.com/image/1296901/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%BB%BB%E5%8A%A1%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%AD%E8%AF%86%E5%88%AB%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我以 SYSTEM 权限(作为服务)运行一些批处理文件,它们在任务列表中显示为 cmd.exe。有时我需要终止其中一个,但我无法决定终止哪个 cmd.exe。
另外;我运行许多批处理文件作为计划任务,所有文件都显示为 cmd.exe(使用我的帐户)
我如何标记批处理文件以便可以在任务管理器中识别它?
答案1
打开任务管理器,单击“进程”选项卡,然后选择View->Select Columns...
。选中复选框Command Line
。现在,任务管理器将为每个 cmd.exe 显示其正在运行的内容。对于批处理文件,它看起来像这样
cmd /c ""C:\path\to\test.bat""
对于确保只有一个实例可以运行的问题,这个相当肮脏的技巧有效:
@echo off
tasklist /v | find /I /c "MyUniqueTitle" > nul
if "%ERRORLEVEL%" == "0" goto ErrorAlreadyRunning
title MyUniqueTitle
echo "Running as Single Instance!"
goto end
:ErrorAlreadyRunning
echo "ErrorAlreadyRunning"
:end
pause