Board logo

标题: 可屏蔽网址的批处理 [打印本页]

作者: freeapple     时间: 2006-12-19 10:13    标题: 可屏蔽网址的批处理

今天在网上找到了在系统中可以屏蔽网址打开的方法,便试着用批处理写了出来,我是新手可能写的罗嗦一点,还希望坛子里的兄弟再改改.
运行环境:windows xp2
如果效果不明显可以把IE的cookie删掉
附件 1: 可屏蔽网址的批处理.rar (2006-12-19 10:13, 803 bytes, 下载附件所需积分 1点 ,下载次数: 92)

作者: electronixtar     时间: 2006-12-19 11:00
这点代码直接贴出来算了吧,呵呵
@echo off
:start
@setlocal ENABLEDELAYEDEXPANSION
title 可屏蔽网址的批处理.
mode con cols=50 lines=15
echo *************************************************
echo *****************选择如下操作********************
echo.
echo.
echo ***************1.添加要屏蔽的网址****************
echo ***************2.删除已屏蔽的网址****************
echo ***************3.查找已屏蔽的网址****************
echo ***************4.退出****************************
echo.

copy C:\WINDOWS\system32\drivers\etc\hosts C:\WINDOWS\system32\drivers\etc\hosts.txt>nul

:chose
set /p enter=请你输入你的选择:
if not "%enter%"=="" set enter=%enter%
if /i "%enter%"=="1" goto add
if /i "%enter%"=="2" goto del
if /i "%enter%"=="4" goto end
if /i "%enter%"=="3" goto check
goto chose

:add
set /p input=输入要添加的网址
if /i "%input%"=="n" goto start
echo 127.0.0.1      %input%>>C:\WINDOWS\system32\drivers\etc\hosts.txt
echo 成功添加屏蔽网址%input%
echo 请准确的输入or按n退出!
copy C:\WINDOWS\system32\drivers\etc\hosts.txt C:\WINDOWS\system32\drivers\etc\hosts>nul
goto add

:del
echo ~_~你选择了删除操作切记务必最好输入完整的网址~_~
set /p del=输入要删除的网址:
if  /i "%del%"=="n" goto start
@for /f "tokens=* delims=" %%i in ('findstr /i /v /c:%del% C:\WINDOWS\system32\drivers\etc\hosts.txt') do (
set var=%%i
echo !var!>>b.txt
)
copy b.txt C:\WINDOWS\system32\drivers\etc\hosts.txt>nul
del b.txt
echo 操作完成
echo 请准确的输入or按n退出!
copy C:\WINDOWS\system32\drivers\etc\hosts.txt C:\WINDOWS\system32\drivers\etc\hosts>nul
goto del

:check
for /f "tokens=2 delims= " %%i in ('findstr /i /c:"www" C:\WINDOWS\system32\drivers\etc\hosts.txt') do (set var=%%i
echo !var!
)
for /f "tokens=2 delims= " %%i in ('findstr /i /c:"bbs" C:\WINDOWS\system32\drivers\etc\hosts.txt') do (set var=%%i
echo !var!
)
copy C:\WINDOWS\system32\drivers\etc\hosts.txt C:\WINDOWS\system32\drivers\etc\hosts>nul
pause
cls
goto start

:end
copy C:\WINDOWS\system32\drivers\etc\hosts.txt C:\WINDOWS\system32\drivers\etc\hosts>nul
del C:\WINDOWS\system32\drivers\etc\hosts.txt
exit
其实就改了个 host
作者: vkill     时间: 2006-12-20 01:23
hosts
作者: 9527     时间: 2006-12-20 01:27
其实就是改下hosts文件而已
作者: 881215     时间: 2007-3-10 19:05
找的就是他
作者: semirmyway     时间: 2007-3-11 10:56
想法很好。。支持楼主~!
作者: maya0su     时间: 2007-3-11 12:18
当麦哲伦把鸡蛋立起以后
你总认为很简单!
可是在他没把鸡蛋立起来之前
你为什么不把鸡蛋立起呢!
我也支持楼主!
作者: lxmxn     时间: 2007-3-11 13:37

  不错,用批处理总比去打开系统文件夹修改hosts文件方便。支持楼主!

作者: electronixtar     时间: 2007-3-11 23:35


  Quote:
Originally posted by maya0su at 2007-3-11 12:18:
当麦哲伦把鸡蛋立起以后
你总认为很简单!
可是在他没把鸡蛋立起来之前
你为什么不把鸡蛋立起呢!
我也支持楼主!

我怎么记得是哥伦布呢? :P:P:P
作者: xynn     时间: 2007-5-3 16:50
回去试验看看
作者: sd287054     时间: 2007-5-5 01:09
if  /i "%del%"=="n" goto start
@for /f "tokens=* delims=" %%i in ('findstr /i /v /c:%del% C:\WINDOWS\system32\drivers\etc\hosts.txt') do (
请问这段中的 %del%起到什么作用?
作者: z83001     时间: 2007-5-5 08:34
谢谢~~学习了~支持楼主~
作者: wfdswfsdfs     时间: 2008-11-20 14:22
下载下来看看
作者: ads1111     时间: 2008-11-20 17:21
支持一个