如何注册.dll和.ocx等动态库【批量注册脚本.bat】

181 阅读1分钟
@ECHO OFF
@cls
::################################################################################
>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
	if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
 
:gotAdmin 
 
	@echo #####################################################################
	@echo #                                                                   #
	@echo #                 自动注册当前目录下全部.ocx文件                    #
	@echo #                                                                   #
	@echo #####################################################################
 
	cd /d %~dp0
	echo; Windows System: %processor_architecture%
	::==============================================
	if "%processor_architecture%"=="x86" (
		set sysPath=%windir%\system32
	) else (
	if "%processor_architecture%"=="AMD64" (
		set sysPath=%windir%\SysWOW64
		)
	)
	echo %sysPath%
 
	::##############################################
	::#for /f "delims=" %%i in ('dir /b /a-d %~dp0\*.OCX') do (
	::#	copy /y %%i %sysPath% 		
	::#	echo; 注册 %sysPath%\%%i% 
	::#	regsvr32 %sysPath%\%%i		::regsvr32 /s %sysPath%\%%i		:: 不显示注册结果提示框
	::#)
	
	copy /y libFPDev_TESO.ocx %sysPath% 	
 	echo; 注册 %sysPath%\libFPDev_TESO.ocx%
	regsvr32 %sysPath%\libFPDev_TESO.ocx		::regsvr32 /s %sysPath%\libFPDev_TESO.ocx		:: 不显示注册结果提示框
	
	goto exit  
::##############################################
:exit  
    @echo; -----------------------------------
	@echo 配置完成
    @echo;
	@echo 按任意键退出...
	@pause>nul