[Solucionado]Registrar DLL OCX

Iniciado por VanX, 8 Julio 2011, 18:39 PM

0 Miembros y 1 Visitante están viendo este tema.

VanX

HOla, quiero hacer un batch para registrar una OCX o DLL y tengo este code:

Código (dos) [Seleccionar]
@echo off
cls
echo **** REGISTRAR OCX O DLL ****
echo.
set /p Ruta=Introduce la ruta de la OCX o DLL (Ejemplo: c:\Msflxgrd.ocx):
echo.
REGSVR32 %Ruta%
echo.
pause
exit


y quiero que en vez de escribir tu la ruta, que el .bat registre automaticamente la DLL o OCX ya que estará en la misma carpeta y el nombre no será modificado. No se si me he explicado...

gracias :-\



____________________________________________________________________

LO SIENTO, me equivoque de lugar! (porfavor muevanlo)

$Edu$

Un bucle for y usar el comodin *, pero pitoloko te hace el codigo en un rato, pero entendelo que es la idea

SuperDraco

#2
ni falta , ya lo había echo xD


http://foro.elhacker.net/scripting/libreria_de_funciones_y_scripts_batch_actualizado_260507-t163184.0.html#quickreply



Código (dos) [Seleccionar]
REM #### ¿Como usar este Batch?
REM ####
REM #### 1. Colocar el .bat en una carpeta junto a las librerias .dll y .ocx que querais.
REM #### 2. Ejecutar el batch.
REM ####
REM #### Este batch las irá registrando una a una, si se produce algun error os informará.
REM ####
REM #### Tambien puedes llamar a este batch desde otro batch para iniciarlo en otra carpeta, de esta manera:
REM #### Start /Separate .\Carpeta\Registrador.bat
REM #### o
REM #### Registrador.bat Registrame.dll (Sobre archivos que no contengan espacios).

@echo off

Title=Dll/OCX Registrator v1.3 By PiToLoKo para SonyTeam BetaTesters.
Mode con cols=80 lines=20 & color 7
Setlocal enabledelayedexpansion

If %PROCESSOR_ARCHITECTURE%==x86 (goto: 32BIT) ELSE (goto :64BIT)


:32BIT
If exist "%1" goto :PARAMS32BIT
For /f "tokens=*" %%a in ('dir /B %0\..\*.dll; %0\..\*.ocx') do (
Set archivo=%%a
copy /y %0\..\"%%a" "%windir%\system32\" >nul
regsvr32 "%%a" /s
call :error)
goto :END


:64BIT
If exist "%1" goto :PARAMS64BIT
For /f "tokens=*" %%a in ('dir /B %0\..\*.dll; %0\..\*.ocx') do (
Set archivo=%%a
copy /y %0\..\"%%a" "%windir%\syswow64\" >nul
regsvr32 "%windir%\syswow64\%%a" /s
call :error)
goto :END


:ERROR
If %errorlevel% EQU 0 (
echo+ & echo+ !archivo! se ha registrado.
goto:eof
) ELSE (
cls & color c
Echo+ & echo+ ERROR AL INTENTAR REGISTRAR LA DLL "!archivo!", REVISE SU SISTEMA.
Pause >nul
exit)


:PARAMS32BIT
Set archivo=%1
copy /y "%cd%\%1" "%windir%\syswow64\" >nul
regsvr32 "%1" /s
call :error
goto :END


:PARAMS64BIT
Set archivo=%1
copy /y "%cd%\%1" "%windir%\syswow64\" >nul
regsvr32 "%windir%\syswow64\%1" /s
call :error
goto :END


:END
ping -n 3 localhost >nul
cls & color 2
echo+ & echo+ @ Se han instalado todas las librerias correctamente.
ping -n 3 localhost >nul
exit







Puedes usar mi script, o el tuyo que quedaría así:

Código (dos) [Seleccionar]
@echo off
cls

Rem Modificado by PiToLoKo
REM Visita Foro.ElHacker.Net

echo **** REGISTRAR OCX O DLL ****
echo.
For /f "tokens=*" %%a in ('dir /B "%cd%\*.dll"; "%cd%\*.ocx"') do (
copy /y "%cd%\%%a" "%windir%\system32\" >nul
regsvr32 "%windir%\system32\%%a" /s)
echo.
pause >nul
exit
No he vuelto, solo estoy de paso.

VanX

Grax perfecto, solucionado ;)

saludos