Extrae el ZIP, monta la ISO y encuentra el instalador — sin buscar nada a mano

La idea de este script viene de un caso real: un amigo de mi hermano se había descargado un programa, pero no sabía extraer el archivo, ni montar la imagen ISO, ni encontrar dentro el .exe para instalarlo. Este script hace justo eso — te ahorra los pasos manuales, tú decides si instalar.

Qué hace exactamente

  • Te abre un selector de archivos normal de Windows para que elijas el .zip o .iso que has descargado.
  • Si es un .zip, lo extrae automáticamente a una carpeta al lado.
  • Si es un .iso, la monta como si fuera un CD/DVD virtual.
  • Busca dentro todos los archivos .exe y te abre el explorador de Windows señalando el que más probablemente sea el instalador (busca nombres como «setup» o «install»).

Qué NO hace

  • No instala nada por ti. Solo te enseña dónde está el instalador — el doble clic final para instalar lo das tú, siempre.
  • No modifica ninguna configuración de tu sistema, no se conecta a internet, no borra nada.
  • No abre archivos .rar (Windows no lo soporta de forma nativa) — si tienes uno, te avisa y te recomienda instalar 7-Zip primero.

🛡️ Antes de ejecutar cualquier script — incluido este — cópialo y pégalo en tu IA de confianza (ChatGPT, Claude, Gemini…) y pregúntale exactamente qué hace. Es la forma más fácil de comprobarlo tú mismo sin tener que fiarte de nuestra palabra.

El código, completo y sin ocultar nada

Son dos archivos: uno .bat que simplemente lanza el otro (así puedes hacer doble clic sin saber nada de PowerShell), y el .ps1 con la lógica real.

Ver buscar-instalador.bat (el lanzador)
@echo off
title Extractor y buscador de instalador - Decide Sin Miedo
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0buscar-instalador.ps1"
pause
Ver buscar-instalador.ps1 (la lógica real)
# Extractor y buscador de instalador - Decide Sin Miedo
# Este script NO instala nada por ti. Solo extrae o monta el archivo que
# elijas y te enseña donde esta el instalador, para que lo abras tu mismo.

Add-Type -AssemblyName System.Windows.Forms

$dialog = New-Object System.Windows.Forms.OpenFileDialog
$dialog.Title = "Selecciona el archivo .zip o .iso que has descargado"
$dialog.Filter = "Archivos comprimidos o de imagen (*.zip;*.iso)|*.zip;*.iso|Todos los archivos (*.*)|*.*"

if ($dialog.ShowDialog() -ne [System.Windows.Forms.DialogResult]::OK) {
    Write-Host "No se ha seleccionado ningun archivo. Saliendo."
    exit
}

$archivo = $dialog.FileName
$extension = [System.IO.Path]::GetExtension($archivo).ToLower()
$carpetaDestino = $null

if ($extension -eq ".zip") {
    Write-Host "Extrayendo el ZIP..."
    $carpetaDestino = Join-Path ([System.IO.Path]::GetDirectoryName($archivo)) ([System.IO.Path]::GetFileNameWithoutExtension($archivo))
    Expand-Archive -Path $archivo -DestinationPath $carpetaDestino -Force
    Write-Host "Extraido en: $carpetaDestino"
}
elseif ($extension -eq ".iso") {
    Write-Host "Montando la imagen ISO..."
    $imagen = Mount-DiskImage -ImagePath $archivo -PassThru
    $letraUnidad = ($imagen | Get-Volume).DriveLetter
    $carpetaDestino = "$($letraUnidad):\"
    Write-Host "Montada como unidad $($letraUnidad):"
}
elseif ($extension -eq ".rar") {
    Write-Host "Este script no puede abrir archivos .rar directamente (Windows no lo soporta de forma nativa)."
    Write-Host "Instala 7-Zip (gratis, https://www.7-zip.org) y vuelve a intentarlo, o pide el archivo en formato .zip."
    Read-Host "Pulsa Enter para salir"
    exit
}
else {
    Write-Host "Ese archivo no es un .zip ni un .iso. Este script solo sabe trabajar con esos dos formatos."
    Read-Host "Pulsa Enter para salir"
    exit
}

Write-Host ""
Write-Host "Buscando el instalador dentro..."
$ejecutables = Get-ChildItem -Path $carpetaDestino -Filter "*.exe" -Recurse -ErrorAction SilentlyContinue

if ($ejecutables.Count -eq 0) {
    Write-Host "No se ha encontrado ningun .exe. Abriendo la carpeta para que lo busques tu mismo."
    Start-Process explorer.exe $carpetaDestino
    exit
}

$candidato = $ejecutables | Where-Object { $_.Name -match "setup|install|instal" } | Select-Object -First 1
if (-not $candidato) {
    $candidato = $ejecutables | Select-Object -First 1
}

Write-Host ""
Write-Host "Encontrado(s) $($ejecutables.Count) archivo(s) .exe. El mas probable es:"
Write-Host "  $($candidato.FullName)"
Write-Host ""
Write-Host "Abriendo el explorador con ese archivo senalado. Haz doble clic sobre el tu mismo para instalar"
Write-Host "(este script NO lo ejecuta automaticamente, la decision de instalar es siempre tuya)."

Start-Process explorer.exe "/select,`"$($candidato.FullName)`""

Cómo comprobarlo y descargarlo

  • Escanéalo tú mismo en VirusTotal: descarga el .zip, sube los dos archivos a virustotal.com antes de ejecutarlos. Es gratis y tarda menos de un minuto.
  • O pega el código de arriba en tu IA de confianza, como te comentamos antes.

Cómo usarlo (paso a paso, sin necesitar experiencia)

  1. Descarga el .zip con el botón de arriba y extráelo (clic derecho → «Extraer todo»).
  2. Dentro verás dos archivos: buscar-instalador.bat y buscar-instalador.ps1. Deben quedarse juntos, en la misma carpeta.
  3. Haz doble clic en buscar-instalador.bat. Si Windows muestra un aviso de «Windows protegió tu PC», pulsa «Más información» → «Ejecutar de todas formas».
  4. Se abrirá una ventana para que elijas tu archivo .zip o .iso descargado. Selecciónalo.
  5. Espera unos segundos — el script extrae o monta el archivo, busca el instalador, y te abre el explorador señalándolo.
  6. Haz doble clic tú mismo sobre el archivo señalado para instalar el programa, como harías normalmente.

¿Tienes alguna duda sobre este script, o crees que deberíamos mejorar algo? Escríbenos desde Contacto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio