Recupera archivos borrados de tu Pendrive con este script para Windows

🚀 Características del Script

Detecta todas las unidades USB conectadas.
Permite al usuario seleccionar la unidad que quiere recuperar.
Ejecuta Windows File Recovery (winfr.exe) para recuperar archivos eliminados.
Guarda los archivos recuperados en una carpeta segura.

Interfaz interactiva y fácil de usar.


Instalar Windows File Recovery: Si no tienes winfr en tu sistema, puedes instalarlo desde la Microsoft Store. Busca "Windows File Recovery" en la Microsoft Store e instálalo.




Abre PowerShell como Administrador.

 Ejecuta el script:

.\Recuperar_USB.ps1


Script

# Mostrar unidades USB conectadas

Write-Host "Detectando unidades USB conectadas..." -ForegroundColor Cyan

$usbDrives = Get-WmiObject Win32_LogicalDisk | Where-Object { $_.DriveType -eq 2 }


if ($usbDrives.Count -eq 0) {

    Write-Host "No se encontraron unidades USB. Conectala y vuelve a intentarlo." -ForegroundColor Red

    exit

}


Write-Host "`nUnidades USB detectadas:" -ForegroundColor Green

foreach ($drive in $usbDrives) {

    Write-Host " - $($drive.DeviceID) ($($drive.VolumeName))"

}


# Pedir al usuario seleccionar una unidad

$driveLetter = Read-Host "Ingrese la letra de la unidad USB (Ejemplo: E)"


# Verificar si la letra ingresada es valida

if (-not ($usbDrives.DeviceID -contains "$driveLetter`:" )) {

    Write-Host "Unidad no valida. Asegurate de ingresar la letra correcta." -ForegroundColor Red

    exit

}


Write-Host "Unidad seleccionada: $driveLetter`:" -ForegroundColor Green


# Definir la carpeta de recuperacion

$recoveryPath = "C:\Recuperacion_$driveLetter"

if (!(Test-Path $recoveryPath)) {

    New-Item -ItemType Directory -Path $recoveryPath | Out-Null

}


# Elegir modo de recuperacion

Write-Host "`nModos de recuperacion disponibles:" -ForegroundColor Yellow

Write-Host "1. Recuperacion Rapida (NTFS)"

Write-Host "2. Recuperacion Extensiva (Para unidades formateadas o danadas)"


$recoveryMode = Read-Host "Seleccione el modo de recuperacion (1 o 2)"


if ($recoveryMode -eq "1") {

    $mode = "/regular"

} elseif ($recoveryMode -eq "2") {

    $mode = "/extensive"

} else {

    Write-Host "Opcion no valida." -ForegroundColor Red

    exit

}


# Ejecutar Windows File Recovery

Write-Host "`nIniciando recuperacion de archivos eliminados..." -ForegroundColor Cyan

Start-Process -FilePath "winfr" -ArgumentList "$driveLetter`: $recoveryPath $mode /n *.*" -NoNewWindow -Wait


Write-Host "`nProceso completado. Archivos recuperados en: $recoveryPath" -ForegroundColor Green




Comentarios

Entradas populares de este blog

Crea tu Servidor FTP en Minutos - Script Automático para Instalar FTP, Crear usuarios y asignar permisos en Ubuntu 20.04

"¡Crea tu Servidor Web en Minutos! Script Automático para Instalar LAMP en Ubuntu 20.04"