本帖最后由 Nsqs 于 2017-3-4 23:16 编辑
- @echo off
- set "w=%0"
- set "processname=QQ.exe"
- set n=100 %表示100MB%
- tasklist|findstr /i "%processname%" >nul 2>nul && goto r ||echo %processname% 进程不存在
- pause&exit
- :r
- set mb=0
- for /f "tokens=5 delims= " %%1 in ('tasklist^|findstr /i "%processname%"')do (
- set /a mb=1*%%1/1024
- )
- if %mb% geq %n% (
- echo %processname% 大于等于 %n% MB
- call:w
- )else (
- echo %processname% 在 %n% MB 以内
- )
- goto r
- :w
- for /f "tokens=1 delims=:" %%1 in ('findstr /n "^::VBS$" "%w%"')do set m=%%1
- more "%w%" +%m%>#
- echo %processname%|cscript -nologo -e:"vbs" "#" %重启%
- goto :eof
- ::VBS
- f=wsh.stdin.readline
- set wsc=createobject("wscript.shell")
- set fso=createobject("scripting.filesystemobject")
- set wmi=getobject("winmgmts:\\.\root\cimv2").execquery("select * from win32_process")
- for each list in wmi
- if list.name=f then
- list.terminate
- wsc.run chr(34)&list.executablepath&chr(34),,1
- end if
- next
- fso.deletefile wsh.scriptfullname
- wsh.sleep 6000000
复制代码
|