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
Publicar un comentario