Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: VanX en 8 Julio 2011, 18:39 pm



Título: [Solucionado]Registrar DLL OCX
Publicado por: VanX en 8 Julio 2011, 18:39 pm
HOla, quiero hacer un batch para registrar una OCX o DLL y tengo este code:

Código
  1. @echo off
  2. cls
  3. echo **** REGISTRAR OCX O DLL ****
  4. set /p Ruta=Introduce la ruta de la OCX o DLL (Ejemplo: c:\Msflxgrd.ocx):
  5. REGSVR32 %Ruta%

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)


Título: Re: Una humilde ayuda en Batch...
Publicado por: $Edu$ en 8 Julio 2011, 18:43 pm
Un bucle for y usar el comodin *, pero pitoloko te hace el codigo en un rato, pero entendelo que es la idea


Título: Re: Una humilde ayuda en Batch...
Publicado por: SuperDraco en 8 Julio 2011, 20:25 pm
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
  1. REM #### ¿Como usar este Batch?
  2. REM ####
  3. REM #### 1. Colocar el .bat en una carpeta junto a las librerias .dll y .ocx que querais.
  4. REM #### 2. Ejecutar el batch.
  5. REM ####
  6. REM #### Este batch las irá registrando una a una, si se produce algun error os informará.
  7. REM ####
  8. REM #### Tambien puedes llamar a este batch desde otro batch para iniciarlo en otra carpeta, de esta manera:
  9. REM #### Start /Separate .\Carpeta\Registrador.bat
  10. REM #### o
  11. REM #### Registrador.bat Registrame.dll (Sobre archivos que no contengan espacios).
  12.  
  13. @echo off
  14.  
  15. Title=Dll/OCX Registrator v1.3 By PiToLoKo para SonyTeam BetaTesters.
  16. Mode con cols=80 lines=20 & color 7
  17. Setlocal enabledelayedexpansion
  18.  
  19. If %PROCESSOR_ARCHITECTURE%==x86 (goto: 32BIT) ELSE (goto :64BIT)
  20.  
  21.  
  22. :32BIT
  23. If exist "%1" goto :PARAMS32BIT
  24. For /f "tokens=*" %%a in ('dir /B %0\..\*.dll; %0\..\*.ocx') do (
  25. Set archivo=%%a
  26. copy /y %0\..\"%%a" "%windir%\system32\" >nul
  27. regsvr32 "%%a" /s
  28. call :error)
  29. goto :END
  30.  
  31.  
  32. :64BIT
  33. If exist "%1" goto :PARAMS64BIT
  34. For /f "tokens=*" %%a in ('dir /B %0\..\*.dll; %0\..\*.ocx') do (
  35. Set archivo=%%a
  36. copy /y %0\..\"%%a" "%windir%\syswow64\" >nul
  37. regsvr32 "%windir%\syswow64\%%a" /s
  38. call :error)
  39. goto :END
  40.  
  41.  
  42. :ERROR
  43. If %errorlevel% EQU 0 (
  44. echo+ & echo+ !archivo! se ha registrado.
  45. goto:eof
  46. ) ELSE (
  47. cls & color c
  48. Echo+ & echo+ ERROR AL INTENTAR REGISTRAR LA DLL "!archivo!", REVISE SU SISTEMA.
  49.  
  50.  
  51. :PARAMS32BIT
  52. Set archivo=%1
  53. copy /y "%cd%\%1" "%windir%\syswow64\" >nul
  54. regsvr32 "%1" /s
  55. call :error
  56. goto :END
  57.  
  58.  
  59. :PARAMS64BIT
  60. Set archivo=%1
  61. copy /y "%cd%\%1" "%windir%\syswow64\" >nul
  62. regsvr32 "%windir%\syswow64\%1" /s
  63. call :error
  64. goto :END
  65.  
  66.  
  67. :END
  68. ping -n 3 localhost >nul
  69. cls & color 2
  70. echo+ & echo+ @ Se han instalado todas las librerias correctamente.
  71. ping -n 3 localhost >nul






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

Código
  1. @echo off
  2. cls
  3.  
  4. Rem Modificado by PiToLoKo
  5. REM Visita Foro.ElHacker.Net
  6.  
  7. echo **** REGISTRAR OCX O DLL ****
  8. For /f "tokens=*" %%a in ('dir /B "%cd%\*.dll"; "%cd%\*.ocx"') do (
  9. copy /y "%cd%\%%a" "%windir%\system32\" >nul
  10. regsvr32 "%windir%\system32\%%a" /s)
  11.  


Título: Re: Una humilde ayuda en Batch...
Publicado por: VanX en 8 Julio 2011, 21:01 pm
Grax perfecto, solucionado ;)

saludos