返回列表 发帖

[文本处理] [已解决]通过BAT脚本从hosts文件中如何删除IP地址

各位大佬们,可以帮我看看这个脚本删除固定的IP地址,运行完成之后无法生效,使用管理员身份运行了,还是无法生效
@echo off
setlocal enabledelayedexpansion
set "HOSTS_FILE=%SystemRoot%\System32\drivers\etc\hosts"
set "TEMP_FILE=%TEMP%\hosts.tmp"
echo 正在处理hosts文件...
(for /f "tokens=*" %%a in ('type "%HOSTS_FILE%"') do (
    set "line=%%a"
    call :CheckLine "!line!"
)) > "%TEMP_FILE%"
:CheckLine
setlocal
set "LINE_TO_CHECK=%~1"
echo %LINE_TO_CHECK% | findstr /i /c:"172.72.14.216  bj.ucam.cncc.cn" /c:"172.72.14.217  sh.ucam.cncc.cn" /c:"172.72.14.218  bj.coas.cncc.cn" >nul
if errorlevel 1 (
    echo %LINE_TO_CHECK%
) else (
    echo 删除行: %LINE_TO_CHECK%
)
endlocal & goto :eof
echo 正在更新hosts文件...
copy /y "%TEMP_FILE%" "%HOSTS_FILE%" >nul
echo 完成!
pauseCOPY
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# qixiaobin0715

你好,这个我运行了,提示无法删除修改,生成了一个其他格式的hosts文件

TOP

回复 3# Five66


    你好,这个无法生成固定行的IP

TOP

回复 7# qixiaobin0715


没有成功删除内容

TOP

回复 9# aloha20200628


好的,我再试试

TOP

回复 11# Five66


    感兴趣,这个可以正常删除行

TOP

返回列表