标题: [其他] 批处理版链接监视器 [打印本页]
作者: garyng 时间: 2011-8-13 23:11 标题: 批处理版链接监视器
本帖最后由 garyng 于 2011-8-22 20:17 编辑
6-8-2011
为了实践这几个星期在本论坛学的批处理知识
又因为我的弟弟要考试了~
心血来潮
便编写了此程序:链接监视器
主程序:
——————————————链接监视器——————————————- @Echo Off&SetLocal EnableDelayedExpansion&mode con: cols=60 lines=25&color 0A
- (for /l %%a in (1 1 1) do set /p ver=)<更新历史.txt
- title 链接监视器 !ver! &echo *****************************&echo 链接监视器!ver! &echo 由GaryNg呕心沥血制作 &echo *****************************
- rem 文件检查
- IF EXIST DisableExit.exe (echo DisableExit.exe存在) ELSE (color 0C&echo DisableExit.exe不存在&goto ex)
- rem 禁止关闭的功能
- DisableExit.exe
- IF EXIST BeeNotice.exe (echo BeeNotice.exe存在) ELSE (color 0C&echo BeeNotice.exe不存在&goto ex)
- IF EXIST 后台计时.exe (echo 后台计时.exe存在) ELSE (color 0C&echo 后台计时.exe不存在&goto ex)
- IF EXIST 设置.ini (echo 设置.ini存在) ELSE (ping 127.1 -n 3 >nul 2>nul&cls&goto 1run)
- IF EXIST 按键模拟.vbs (echo 按键模拟.vbs存在) ELSE (ping 127.1 -n 3 >nul 2>nul&cls&goto 1run)
- echo 所有的重要文件都在!&ping 127.1 -n 2 >nul 2>nul&cls&echo 加载中,请稍等....
- rem 变量设置
- rem ip地址
- (for /l %%a in (1 1 1) do set /p iip=)<设置.ini
- rem 链接名字
- (for /l %%a in (1 1 2) do set /p lname=)<设置.ini
- rem 哈哈~密码~
- (for /l %%a in (1 1 6) do set /p pass=)<设置.ini
- for /f "delims=, tokens=5" %%V in ('echo !pass!') do (set passs=%%V)
- rem 再次运行的计时器
- tasklist|findstr "后台计时" >nul 2>nul||start 后台计时.exe
- rem 主程序
- :main
- netstat -an |find /i "!iip!" >nul 2>nul||goto noddt
- echo 程序发现有人开启!lname!
- findstr "!date!" ddt.log >nul 2>nul||echo !date!>>ddt.log
- echo %time% 程序发现有人在%username%的电脑开启了!lname!>>ddt.log
- echo 现在进行身份确认&ping 127.1 -n 2 >nul 2>nul&cls
- IF EXIST lk.ms (echo 离开模式已开启&echo 并马上进行惩罚!!&ping 127.1 -n 2 >nul 2>nul&goto ddt ) ELSE (echo 离开模式没开启)
- rem 要输入密码~
- set b=5
- :pwd
- title 密码验证:
- set /a a=!a!+1
- set /a b=!b!-1
- set pwd=password
- set pwd=""
- set /p pwd=[请输入密码]
- if /i "!pwd!"=="!passs!" goto admin
- if /i "!a!"=="5" echo 错误次数达到五次!!&ping 127.1 -n 2 >nul 2>nul&goto ddt
- echo 错误 !a! 次!&echo 您还有 !b! 次机会!&goto pwd
- rem 惩罚部分
- :ddt
- title 现在进行惩罚!!!&start 按键模拟.vbs
- set p=████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████\n
- BeeNotice.exe /m:"!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!!p!" /x:0 /y:0 /t:30000 /o:200 /ftc:"0 0 0"
- exit
- rem 没人开链接
- :noddt
- IF EXIST lk.ms (echo 离开模式已开启) ELSE (echo 离开模式没开启)
- echo 没人开!lname!&goto ex
- REM 管理员
- :admin
- cls&echo 身份被确认!!你可以继续~对不起麻烦你咯~ &echo 进入离开模式按1,查看更新历史按2&echo 查看ddt.log按3,退出按0
- set /p ad=[离开模式按1,新历史按2,ddt.log按3,退出按0]
- if /i "!ad!"=="" goto admin
- if /i "!ad!"=="1" goto lkms
- if /i "!ad!"=="0" goto ex
- if /i "!ad!"=="2" cls&more 更新历史.txt&pause>nul&exit
- if /i "!ad!"=="3" cls&more ddt.log&pause>nul&exit
- rem 离开模式
- :lkms
- cls&echo 现在是离开模式...&echo 离开模式介绍&echo 离开模式是当程序检测到!lname!的链接存在时&echo 会不管三七二十一的进行“惩罚”&echo 如果你要关闭离开模式,&echo 就直接把目录下的lk.ms删除掉!&echo 否则你是进不来这里的&echo 所以这里也没有关闭离开模式的选项&echo 开启离开模式按1,退出按0
- set /p lkms=[开启=1,退出=0]
- if /i "!lkms!"=="" goto lkms
- if /i "!lkms!"=="1" goto openlkms
- if /i "!lkms!"=="0" goto ex
- rem 开启离开模式
- :openlkms
- IF EXIST lk.ms color 0C&echo 离开模式已开启!! 真难以想象你是怎样进来的?!
- echo 确定开启按1,退出按0
- set /p open=[确定=1,退出=0]
- if /i "!open!"=="" goto openlkms
- if /i "!open!"=="0" goto ex
- if /i "!open!"=="1" echo/ > lk.ms
- echo 完成!&cls&echo 切记,切记&echo 如果要关闭离开模式,&echo 就把就直接把目录下的lk.ms删除掉(否则你也会中招)!!&goto ex
- rem 初次运行向导
- :1run
- echo *****************************&echo 初次运行向导 &echo *****************************&echo 步骤一:
- :link
- echo 请输入需要监视的链接(不包括http://)&echo 例子:&echo www.baidu.com
- set /p linkset=[请输入]
- if /i "!linkset!"=="q" goto ex
- echo 你输入的是!linkset!
- set /p q=[确定=1,重新输入=2]
- if /i "!q!"=="" goto link
- if /i "!q!"=="2" goto link
- if /i "!q!"=="1" goto ip
- color 0C&echo 你输入无效&goto link
- :ip
- echo 正在ping !linkset!...
- ping -n 1 !linkset! > ip.txt |find /i "ping request" && goto pingg
- (for /l %%a in (1 1 6) do set /p ip=)<ip.txt
- set wip=!ip: =,!
- for /f "delims=, tokens=3" %%Q in ('echo !wip!') do (set cip=%%Q)
- set sip=!cip:[=!
- find /i "[." ip.txt >nul 2>nul&& goto pingg
- for /f "tokens=1-3 delims=." %%L in ('echo !sip!') do (echo 正在将设置写入文件...&echo %%L.%%M.%%N>>设置.ini&del ip.txt&ping 127.1 -n 3 >nul 2>nul&cls)
- echo 步骤二:
- :linkn
- echo 请输入链接的名称(可以任取)
- set /p linkname=[请输入名称]
- if /i "!linkname!"=="q" goto ex
- echo 你输入的是!linkname!
- set /p e=[确定=1,重新输入=2]
- if /i "!e!"=="" goto linkn
- if /i "!e!"=="2" goto linkn
- if /i "!e!"=="1" echo 正在将设置写入文件...&echo !linkname!>>设置.ini&ping 127.1 -n 3 >nul 2>nul&cls
- echo 步骤三:
- :timee
- echo 请问每几秒钟再次运行?默认值为300秒(5分钟)
- set /p nextime=[请输入...(单位秒),默认值按回车]
- if /i "!nextime!"=="" set nextime=300
- if /i "!nextime!"=="q" goto ex
- echo 现在设为每 !nextime! 秒程序将再次运行...
- set /p f=[确定=1,重新输入=2]
- if /i "!f!"=="" goto timee
- if /i "!f!"=="2" goto timee
- if /i "!f!"=="1" echo 正在将设置写入文件...&echo !nextime!>>设置.ini&ping 127.1 -n 3 >nul 2>nul&cls
- echo 步骤四:
- :passwords
- echo 请问你要使用什么密码?(默认是garyng)
- set /p pass=[请输入密码...,默认值按回车]
- if /i "!pass!"=="" set pass=garyng
- if /i "!pass!"=="q" goto ex
- echo 现在密码为 !pass!...
- set /p g=[确定=1,重新输入=2]
- if /i "!g!"=="" goto passwords
- if /i "!g!"=="2" goto passwords
- if /i "!g!"=="1" echo 正在将设置写入文件...&set ramdan=!pass!&goto passen
- color 0C&echo 你输入无效&goto passwords
- :ex
- color 0C&title 程序将在3秒内退出...
- set 退格键=
- for /l %%a in (3 -1 1) do (set /p =!退格键!%%a秒内退出... <nul&ping -n 2 127.1 >nul)
- exit
- :passen
- echo 为密码加密...请稍等...
- Set "Code=qz3─wRDxCX╭eYE╮dc└rfv$th*nujhhelloelinkllomola1garyng5267┤4s8PL╰O┬KI&┐)JM┼HB├@VG9┈gbTy0┌FS┊#ZgaryngQW!(Aik*%NU^┘╯│┄┆"
- Set /A Num=!Random!%%107
- Set /A B=!Random!%%100
- Set /A C=!Random!%%90
- set /a D=!Random!%%80
- set /a E=!Random!%%70
- For %%h in (!E!) Do set randon=!Code:~%%h,15!
- For %%j In (!Num!) Do set randam=!Code:~%%j,13!
- For %%k In (!B!) Do set rondom=!Code:~%%k,11!
- For %%l In (!C!) Do set rondam=!Code:~%%l,19!
- For %%i In (!D!) Do set rondon=!Code:~%%i,7!
- echo !randam!,!randam!,!rondom!,!randam!,!randon!,!randam!,!randam!,!randam!>>设置.ini&echo !rondom!,!random!,!rondon!,!random!,!randam!,!random!,!rondom!,!random!>>设置.ini&echo !rondam!,!random!,!randon!,!random!,!ramdan!,!random!,!rondam!,!random!>>设置.ini&echo !rondon!,!random!,!rondam!,!random!,!rondam!,!random!,!randon!,!randam!>>设置.ini&echo !randon!,!random!,!randam!,!random!,!rondom!,!random!,!rondon!,!randam!>>设置.ini&echo !randon!,!random!,!randam!,!random!,!rondom!,!random!,!rondon!,!rondom!>>设置.ini&ping 127.1 -n 3 >nul 2>nul&cls
- cls&echo 步骤五:
- :explorername
- echo 请问你现在使用的浏览器是什么?
- set /p explorer= [请输入浏览器的名字(注意大小写!)...]
- echo 你的浏览器是:!explorer!
- set /p yn=[确定按1,重新输入按2]
- if /i "!yn!"=="" goto explorername
- if /i "!yn!"=="2" goto explorername
- if /i "!yn!"=="1" echo 正在将设置写入文件...&echo set ws=createObject("WScript.Shell")>按键模拟.vbs&echo Ws.AppActivate "!explorer!">>按键模拟.vbs&echo ws.SendKeys "%%{F4}{ENTER}">>按键模拟.vbs&echo 恭喜你,你完成了设置向导!&ping -n 2 127.1 >nul&cls&call %0
- color 0C&echo 你输入无效&goto explorername
- :pingg
- color 0C&del ip.txt&echo 请检查网络连接或者你输入无效!!&goto ex
复制代码
因为本人还是个菜鸟~
如果有任何不对的地方
可以教教我~
下载后,解压~
就可以使用啦~
下载链接:
因为权限不足,发个外部链接:
批处理版链接监视器下载(能任意选择版本号)
注意:
此程序在英文版的Windows Vista Home Premium SP2下制作~
Ping 链接那段可能要要改改~
作者: CrLf 时间: 2011-8-14 00:07
鼓励鼓励,不过这个篇幅是不是可以压缩一下...在我的经验中,非集成类的批处理脚本,不太复杂的话以十几二十行为佳,而四五十行左右的代码就算比较大型了,一般足以胜任大多数复杂的单项任务。
一个建议:用更多的时间写更短的代码,收获会更大
作者: garyng 时间: 2011-8-14 00:22
我还是个菜鸟~
版主能不能教教我~
或者帮帮我~
作者: CUer 时间: 2011-8-14 01:39
初学乍练的时候还是低调一些比较好,动不动神马人生啊、大作啊、原创啊~~~
作者: garyng 时间: 2011-8-14 10:10
对不起~
马上更改顶楼的标题~
作者: broly 时间: 2011-8-14 10:38
支持低调做人处事。
作者: garyng 时间: 2011-8-14 17:44
本帖最后由 garyng 于 2011-8-15 21:29 编辑
谢谢管理员Batcher 把帖子移到原创板块~
顶楼部分代码已更新~
作者: garyng 时间: 2011-8-15 21:30
下载链接开放啦~
之前链接关闭是因为我上传不到文件~
现在弄好啦~
可以下载啦~
作者: bluewing009 时间: 2011-8-15 23:12
回复 8# garyng
大致看了一眼,一开始的一系列调用没看懂,也没说明调用的是什么用的,到了最后发现可能是一个控制上网的东西。屏蔽了特定的网站。如果这样的话,可以考虑一下hosts文件的作用。
作者: garyng 时间: 2011-8-16 16:33
本帖最后由 garyng 于 2011-8-16 17:30 编辑
回复 9# bluewing009
如果那个网站是你常常上的网站(比如游戏的网站),你有不给别人(跟你用同一架电脑的哪个人)登录这个网站
如果用hosts的话,我要上的时候又要改hosts的文件,上完了又要改回,很麻烦~
用批量处理改文件也是很麻烦,因为那是系统文件,开了UAC它就不让你用批处理改(我不想关UAC)~
而且我刚学批处理不久
写这东东也只是实践学来的东西~
顶楼已增加注释~
作者: luoxue 时间: 2011-8-17 07:50
这东西是做什么用的?
作者: BillGates 时间: 2011-8-17 16:08
要调用太多第三方工具啦~
作者: garyng 时间: 2011-8-18 16:54
回复 12# BillGates
没办法啊~
我是菜鸟啊~
那你改良下吧~
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |