批处理 延时命令
前言
因为我偶尔要在浏览器上看些视频,而播放视频有时候需要Flash,但是要命的是Flash带广告插件,经过我的排查,我发现广告是FlashHelperService.exe
这个服务造成的,可以通过如下命令杀死这个进程:
1
| taskkill /im FlashHelperService.exe /f
|
但是还是没有用,因为不知道什么时候FlashHelperService.exe
这个服务又会偷偷运行,我需要反复杀进程,一两次还可以,多了真是烦躁.
于是我想着写个批处理脚本来定时杀进程
timeout命令
timeout
是延时等待命令,该命令帮助文档如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| timeout [/t] timeout [/nobreak] 描述: 这个工具接受超时参数,等候一段指定的时间(秒)或等按任意键。它还接受 一个参数,忽视按键。 参数列表: /t timeout 指定等候的秒数。有效范围从 -1 到 99999 秒。 /nobreak 忽略按键并等待指定的时间。 /? 显示此帮助消息。 注意: 超时值 -1 表示无限期地等待按键。 示例: timeout /? timeout /t 10 timeout /t 300 /nobreak timeout /t -1
|
从帮助文档可以看出:timeout /t 10
就是延迟10秒的意思.
定时杀死进程
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| @echo off :again :: 查找FlashHelperService.exe这个进程 tasklist | findstr /i FlashHelperService.exe :: 如果返回值大于或者等于1 IF ERRORLEVEL 1 ( :: 返回值大于0表示上述命令失败,也就是找不到FlashHelperService.exe这个进程 echo ERRORLEVEL=%errorlevel%,找不到FlashHelperService.exe进程 ) ELSE ( :: 返回值为0表示上述命令成功,也就是找到FlashHelperService.exe这个进程 echo ERRORLEVEL=%errorlevel%,找到FlashHelperService.exe进程 echo 杀死这个该死的进程.%date%%time%>>杀死FlashHelp日志.txt :: 打开日志,让我知道 notepad 杀死FlashHelp日志.txt taskkill /im FlashHelperService.exe /f ) :sleep :: 延时60*15=5400秒,也就是15分钟运行一次. timeout /t 5400 :: 清屏 cls :: 循环继续开始 goto again
|