原创批处理之网站屏蔽与解除屏蔽批处理
程序员文章站
2022-06-16 15:53:40
@echo off&color 0f&title 网址 屏蔽/解除屏蔽 :: by 小楼一夜听春雨 ...
@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
:: 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
上一篇: cmd批处理转义字符%的详细解释
下一篇: 通过批处理修改DNS的代码(推荐)