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

1、获取管理员权限

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

2、判断系统位数

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

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

cd /d %~dp0

4、regsvr32注册DLL/OCX

先拷贝到C盘,32位拷贝到windowssystem32文件夹下,64位拷贝到windowsSysWOW64文件夹下

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

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