- ·上一篇文章:批处理检查网络状况
- ·下一篇文章:批处理禁用&启用USB设备原来如此简单(可按标准分类)
- ·百度中搜索更多的关于“批处理程序之进程与DLL模块相互查询及管理”相关内容
- ·谷歌中搜索更多的关于“批处理程序之进程与DLL模块相互查询及管理”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
批处理程序之进程与DLL模块相互查询及管理
没做界面美化,实用为主.
因为网页不能处理Tab(跳格键),都会自动用空格代替,请下载附件使用.
@echo off&title DOS资源站 www.cmdos.net&setlocal enabledelayedexpansion
:menu
cls&echo\&echo\
echo. 1.显示进程及所被调用的模块(简洁)
echo\
echo. 2.通过进程查找并列出所调用的模块(包括模块详细信息)
echo\
echo. 3.通过模块找到所调用它的进程
echo\
echo. 4.结束进程
:afresh
echo\
set/p choice= 请输入选项:
set error= 错误的选择,请重新输入.
if %choice% leq 0 (echo.%error%&goto afresh) else (if %choice% gtr 4 (echo.%error%&goto afresh))
goto choice%choice%
pause&exit
:choice1
cls
tasklist /m /fo "csv" /nh
echo.所有进程及所被调用的模块显示完毕.按任意键返回.
pause>nul&goto menu
:choice2
del particular.txt >nul 2>nul
echo\
set /p name= 请输入进程名(如Q.exe):
for /f %%i in ('TASKLIST /fi "IMAGENAME eq %name%" /fo "csv" /nh /m') do (
set namedll=%%~i
set namedll=!namedll:"=!
echo !namedll!
)
echo\
set /p yes=进程"%name%"调用的所有模块列举完毕,是否列出模块详细信息(Y/N):
set /p all=A-仅路径(默认完整信息):
mode con cols=150 lines=80
if /i "%yes%"=="y" (
start msinfo32 /categories +swenvloadedmodules /report particular.txt
echo.请稍候...
:particular
if not exist particular.txt (
ping -n 1 127.1>nul
goto particular
) else (
cls
if /i "%all%"=="A" (echo.名称---路径) else (echo.名称---版本---大小---文件日期---制造商---路径)
for %%i in (%namedll%) do (
if /i "%all%"=="A" (
for /f "delims= tokens=1,6" %%j in ('type particular.txt ^| find /i "%%i"') do (
echo %%j---%%k
)
) else (
for /f "delims=" %%j in ('type particular.txt ^| find /i "%%i"') do (
set particular=%%j
set particular=!particular: =-!
echo !particular!
)
)
)
echo.进程"%name%"调用的所有模块详细信息列举完毕,按任意键返回.
pause>nul&goto menu
)
)
goto menu
:choice3
echo\&set /p b=输入DLL名:
for /f "tokens=*" %%i in ('TASKLIST /m /fo "csv" /nh') do (
echo %%i | find /i "%b%"
if not %ERRORLEVEL% equ 0 echo\&echo %%i)
echo\&echo.显示完毕.按任意键返回.
pause>nul&goto menu
:choice4
Tasklist
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━以上是进程列表.
Set /p IM=输入所要结束进程的名称(如:id.exe):
taskkill /f /t /im %IM%
ECHO 命令完成!按任意键返回.
pause>nul&goto menu

点击下载此文件