想要确保此代码将从主机文件中删除特定网站,取消阻止它。
pushd %SystemRoot%\system32\drivers\etc\hosts
copy hosts hosts.bak
findstr /v /c:"drive.google.com" hosts.bak > hosts
popd
如果不是,那么我可以在批处理文件中使用什么来从主机文件中删除特定网站。
想要确保此代码将从主机文件中删除特定网站,取消阻止它。
pushd %SystemRoot%\system32\drivers\etc\hosts
copy hosts hosts.bak
findstr /v /c:"drive.google.com" hosts.bak > hosts
popd
如果不是,那么我可以在批处理文件中使用什么来从主机文件中删除特定网站。
如果对可能删除某些内容有疑问,那么使用批处理文件中的 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"
由于主机文件位于系统的受保护区域中,因此您需要以管理员身份运行。
该方法在 Hackoo 在评论部分提供的链接中使用,但由于您的批处理文件标签和您所说的缺乏知识,我提供了这个作为替代方法。
还值得注意的是,一些主机使用 0.0.0.0 而不是 127.0.0.1,因此您可能需要相应地调整代码。