当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 原创批处理之网站屏蔽与解除屏蔽批处理

DOS/BAT
一个“灵异”批处理引发的思考加补充说明
批处理隐藏自身窗口,很无聊
批处理bat 延时执行命令的两种方法
执行批处理bat程序中的条件处理
不错的批处理脚本 第一部分
不错的批处理脚本实例代码 第二部分
开机更新桌面主题的批处理代码
非常好的for 教程, 当时我就是看这个学习for 的
批处理的"循环"效果脚本
批处理中常用的符号总结
关于echo 的问题与使用说明
进入dos的一个密码破解方法
VBS CHR码值对应列表
无法使用GHOST及避免出现A:\GHOSTERR.TXT的解决方法
用vbs实现cmd多命令运行功能代码
三个不同文件停顿二秒弹出不同窗口的批处理
写批处理必备的一些命令参数使用技巧
一个小助手批处理实例代码
网管常用的网络命令集合
批处理的api WMIC学习体会有感

DOS/BAT 中的 原创批处理之网站屏蔽与解除屏蔽批处理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 88 ::
收藏到网摘: n/a

@echo off&color 0f&title 网址 屏蔽/解除屏蔽
:: by 小楼一夜听春雨
:loop
setlocal EnableDelayedExpansion
set wjm=C:\WINDOWS\system32\drivers\etc
set "str=127.0.0.1 "
set "xsxx=echo\&echo 注: 此操作需要经过杀毒软件的同意。"
set "xsxx=%xsxx%&echo ==================================&echo\"
cls&%xsxx%
echo\&echo 以下是已经被屏蔽的网址&echo ======================&echo\
for /f "tokens=1* delims= " %%a in (%wjm%\hosts) do (
if "%%a"=="127.0.0.1" set /a xs+=1
if !xs! geq 2 (
set /a num+=1
set !num!=%%b&echo ^(!num!^) %%b
)
set no=%%a %%b
)
echo\
if "%no%"=="127.0.0.1 localhost" (cls&%xsxx%&echo\&echo 目前没有被屏蔽的网址。
echo =====================&echo\&echo\&echo\&echo\)
if defined pinbi goto jiec
if defined pinbi3 goto quan
echo\&echo 请选择 1 屏蔽网址,2 解除屏蔽。3 全部解除屏蔽。&echo\
set /p xuan=请选择 [ 1,2,3 ] ?
if "%xuan%"=="2" (endlocal&set pinbi=a&goto loop)
if "%xuan%"=="3" (endlocal&set pinbi3=%num%&goto loop)
cls&%xsxx%
echo\&echo 请输入需要“屏蔽”的“单个”网址。
echo\&echo 或 先在“某文档”里输入所有要屏蔽的网址,一行一个。
echo\&echo 再在这里输入 “文档名” (含全路径和后缀名),可批量添加。
echo\&echo 按“回车键”或“点关闭按钮”退出。。。&echo\
set /p wdm=请输入文档名或网址:
if "%wdm%"=="" exit
if not exist %wdm% set wdm="%wdm%"
for /f "delims=" %%a in (%wdm%) do (
color cf&echo !str!%%a>>%wjm%\hosts
)
cls&echo\&echo 屏蔽成功。。。
endlocal&set pinbi=
goto loop
:jiec
echo\&echo 输入已经屏蔽的网址前面的序号,解除屏蔽相应的网址。
echo\&echo 解除屏蔽,可一次输入多个序号,用空格分开。如:1 2 5 10 (即:解除1、2、5、10)
echo\&echo 按“回车键”或“点关闭按钮”退出。。。&echo\
set /p wz=请输入序号:
if not defined wz exit
:quan
cd.>%wjm%\hosts1
color 1f
if defined pinbi3 for /l %%i in (1 1 %pinbi3%) do set wz=!wz! %%i
for /f "delims=" %%a in (%wjm%\hosts) do (
set pin=
for %%i in (%wz%) do if "%%a"=="!str!!%%i!" set pin=a
if not defined pin echo %%a>>%wjm%\hosts1
)
del/q %wjm%\hosts
ren %wjm%\hosts1 hosts
del/q %wjm%\hosts1
cls&echo\&echo 解除屏蔽成功。。。
endlocal&set pinbi=&set pinbi3=
goto loop