管理员权限执行批处理和静默执行regsvr32注册

@echo off
color 0

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 “%CD%”

CD /D “%~dp0”

REM ________________________________________________________________

echo=
echo=
echo 管理员权限已获取,正在执行COM注册******
echo=
regsvr32 ****Com.dll /s
echo 完成****Com.dll注册
echo=
echo .COM组件注册完成。
ping -n 3 127.0.0.1>nul
复制代码

此批处理文件必须和.dll文件放在同一个目录执行。

%cd% 获取当前执行批处理的cmd目录(权限不同目录不同),管理员权限运行目录则为system32

%~dp0 获取当前目录路径

%windir% 获取windows目录路径

%~d0 获取当前盘符

%~sdp0 获取当前盘符和路径的短文件名格式

%~f0 获取此批处理的路径

本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。邮箱:1103606138#qq.com

站点地图