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

分类描述分类描述分类描述分类描述分类描述

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

电脑教程 2019-12-27 886

@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 获取此批处理的路径