Cómo mezclar BATCH + INF

Iniciado por carlitos.dll, 27 Junio 2008, 03:39 AM

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

carlitos.dll

Cómo mezclar código inf y código batch: en un archivo inf, los comentarios comienzan con un punto y coma, y en un archivo batch si comenzamos líneas con punto y coma, las toma de todas formas, la idea es escribir cada código batch comenzando cada línea con un punto y coma, y luego de añadir un exit, escribir el código inf. Desde el bat hacemos la llamada a rundll32, llamando como archivo inf al mismo archivo .bat o .cmd (extensión de los archivos programados en batch), que podemos simplificar llamandolo así "%~f0" (el parámetro 0 del archivo o file, vale decir, el nombre) con comillas, por si está dentro de una carpeta que contiene espacios.

Ejemplo:
archivo.bat o archivo.cmd (contiene código batch y código inf).


;::CarlitoS.dll
;@echo off
;echo Tenemos codigo batch e INF en este mismo archivo.
;
;rundll32.exe advpack.dll,LaunchINFSection "%~f0",CarlitoS
;
;pause
;
;::rundll32.exe advpack.dll,LaunchINFSection archivoINF,sección
;::si no se especifica sección se ejecuta DefaultInstall
;exit
;
;

[Version]
Signature=$CHICAGO$

[DefaultInstall]
AddReg = Registro1

[CarlitoS]
AddReg = Registro2

[Registro1]
HKCU,"%POLICIES%\Explorer","ClearRecentDocsOnExit",0x00010001,0x00000000

[Registro2]
HKCU,"%POLICIES%\Explorer","ClearRecentDocsOnExit",0x00010001,0x00000001

[Strings]
POLICIES = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies"