有个参数adv是用wmi来查看文件版本的,不太完善
@echo off
if /i "%~1" == "adv" (set "app=call :wfv "%%~$path:i" "%%~tdp$path:i%%~i"") else (set "app=echo %%~tdp$path:i%%~i")
:repeat
for /f "skip=5 delims=," %%i in ('tasklist /fo csv') do (
set /a num+=1
call set menu_%%num%%=%%~i
call echo %%~i
)
set /p menux=:
set num=&&set menu_%menux% 1>nul 2>nul&&call set process=%%menu_%menux%%%||cls&&goto repeat
cls&title %process%&echo %process%...........
for /f "skip=2 tokens=2* delims=," %%a in ('tasklist /fi "imagename eq %process%" /m /fo csv') do set modules=%%~b
for %%i in (%modules%) do %app%
pause>nul
goto :eof
:wfv
set fc_wfv=%~1
set fc_wfv=%fc_wfv:\=\\%
for /f "tokens=2 delims==" %%i in ('wmic datafile where name^="%fc_wfv%" get version /value^|find /i "version"') do echo %~2 %%i