使用批处理文件从hosts文件中删除网站

时间:2016-11-01 00:52:39

标签: batch-file hosts-file

要确保此代码将从hosts文件中删除特定网站,然后取消阻止。

pushd %SystemRoot%\system32\drivers\etc\hosts
copy hosts hosts.bak
findstr /v /c:"drive.google.com" hosts.bak > hosts
popd

如果没有,那么我可以在批处理文件中使用从主机文件中删除特定网站。

1 个答案:

答案 0 :(得分:0)

如果对可能删除某些内容有疑问,则以下代码将使用批处理文件中的powershell注释掉任何匹配的行。 (根据需要编辑SiteList)

@Echo Off
Set SiteList="drive.google.com" "microsoft.com" "dostips.com" "stackoverflow.com"
For %%A In (%Sitelist%) Do Call :Sub %%A
Exit/B
:Sub
@Powershell "(Get-Content """$($env:windir)\System32\drivers\etc\hosts""") -replace ('^\s*127.0.0.1\s*%~1','#127.0.0.1 %~1') | Out-File """$($env:windir)\System32\drivers\etc\hosts"""  -Force"

由于hosts文件位于系统的受保护区域,因此您需要以管理员身份运行。

该方法在Hackoo在评论部分提供的链接中使用,但由于您的批处理文件标记和您声明的缺乏知识,我提供了此替代方法。

还值得注意的是,有些主机使用0.0.0.0而不是127.0.0.1,因此您可能需要相应地调整代码。