bat 获取管理员权限,判断系统位数,获取当前文件所在目录,regsvr32注册DLL、OCX

时间:2022-01-05 11:46:20

1、获取管理员权限

@echo off
if exist "%SystemRoot%\SysWOW64" path %path%;%windir%\SysNative;%SystemRoot%\SysWOW64;%~dp0
bcdedit >nul
if '%errorlevel%' NEQ '' (goto UACPrompt) else (goto UACAdmin)
:UACPrompt
% start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","::",,"runas",)(window.close)&exit
exit /B
:UACAdmin
echo 已获取管理员权限

2、判断系统位数

if /i %PROCESSOR_IDENTIFIER:~,%==x86 (
echo 32位系统
)else(
echo 64位系统
)

3、获取当前文件所在目录

cd /d %~dp0

4、regsvr32注册DLL/OCX

先拷贝到C盘,32位拷贝到windows\system32\文件夹下,64位拷贝到windows\SysWOW64\文件夹下

# 32位注册方式
Copy /y COMDLG32.OCX %windir%\system32\
regsvr32 /s %windir%\system32\COMDLG32.OCX # 64位注册方式
Copy /y COMDLG32.OCX %windir%\SysWOW64\
regsvr32 /s %windir%\SysWOW64\COMDLG32.OCX