bat文件以管理员运行

在bat文件中开头加入以下内容:

@echo off

>nul 2>&1 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configsystem"

if '%errorlevel%' NEQ '0' (

echo Request Admin Power...

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 "%CD%"

 CD /D "%~dp0"

例如: 网络重置 指令是  

netsh winsock reset

加入头部后为:

@echo off

>nul 2>&1 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configsystem"

if '%errorlevel%' NEQ '0' (

echo Request Admin Power...

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 "%CD%"

 CD /D "%~dp0"
 
netsh winsock reset
pause
View Code

执行结果:

成功执行网络重置!

原文地址:https://www.cnblogs.com/tiancaige/p/12745987.html