Batch批量替换hosts

mac2022-06-30  86

hosts文件替换

工作需要,要修改很多计算机的hosts文件,采用bat批量完成 解决的问题: 1.pc工作在非管理员权限,右键管理员权限太麻烦,因此采用执行中申请管理员权限的方式 2.hosts和替换脚本放在某台pc机上,其他pc以共享文件夹的方式访问,但cmd命令行无法将UNC路径作为当前目录,这样就不方便识别和脚本同目录的hosts文件. 3.执行备份替换前,要先新版hosts文件是否和Batch文件在同一目录,防止错误操作. 4.不管文件是否完成更新,都需要给出提示,并且自动关闭终端. 对于问题1,参考 https://blog.csdn.net/lijialong1313/article/details/54171535 对于问题2,参考 https://www.jianshu.com/p/2d3190f592c5 对于问题3,参考 https://blog.csdn.net/qq_39720249/article/details/85067931 对于问题4,采用如下方法 替换成功 黑色背景绿色文字,窗口7秒后自动关闭 不成功 黑色背景红色文字,窗口不会自动关闭

bat文件申请管理员权限的方法百度上有好几种,我随便选择了一种

附上我使用的代码

@echo off title hosts文件替换 REM ________________________________________________________________ >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" if '%errorlevel%' NEQ '0' ( echo 请求管理员权限... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd %~dp0 echo
转载请注明原文地址: https://mac.8miu.com/read-11160.html
最新回复(0)