Los 25 ficheros más grandes con Powershell

Todos nos hemos encontrado más de una vez sin espacio en nuestros discos, normalmente en el momento más inoportuno, y hemos tenido que dedicarnos a borrar algo para continuar trabajando.

Aquí os presento un pequeño script en Powershell que nos va a buscar los ficheros más grandes en nuestro disco. Acepta dos parámetros:

  • La ruta en donde queremos comprobar el tamaño de los ficheros. Puede ser toda una unidad como por ejemplo c:\ o, lo que suele ser más efectivo, una ruta específica como por ejemplo la ruta donde guardemos nuestros documentos. El script busca de forma recursiva en la carpeta indicada y sus subcarpetas.
  • El segundo parámetro es el número de ficheros a mostrar, comenzando por el más grande. Normalmente entre los 25 o 50 más grandes suele sobrar algo.

Para usar el script copia el siguiente código (sin los números de línea):

$Ruta = Read-Host 'Please, enter the route'
$NumFicheros = Read-Host 'Number of files to return'

Get-ChildItem -Path $Ruta -WarningAction SilentlyContinue -ErrorAction SilentlyContinue -Recurse -Force -File | `
 Select-Object @{Name='Ruta';Expression={($_.FullName)}},@{Name='Tamaño';Expression={($_.Length/1MB)}} | `
 Sort-Object -Property Tamaño -Descending | `
 Select-Object -First $NumFicheros | Format-table Ruta, {$_.Tamaño.ToString("000000.00")} -HideTableHeaders 
pause

Dentro de un fichero de texto vacío y le ponemos por nombre 25Ficheros.ps1

Lo importante es que tenga extensión ps1. Posteriormente tendremos que tener instalado Powershell en nuestro sistema. Si tenemos Windows 10 ya lo tenemos instalado. Si no, lo podemos instalar desde el siguiente este enlace.

Para ejecutarlo, pulsamos con el botón secundario del ratón (normalmente el derecho) sobre el archivo creado con el script y seleccionamos la opción Ejecutar con Powershell.

20160420_25Ficheros_Paso01

Si es la primera vez que ejecutáis un script Powershell os indicará si queréis cambiar la política de ejecución, ya que por defecto no se permiten las ejecuciones de scripts. Le indicáis que sí, y se nos solicitarán los dos parámetros de ejecución.

20160420_25Ficheros_Paso02

Introducís ambos datos y pulsáis ENTER tras cada dato. El script comenzará su trabajo y tras un instante (cuanto más genérica la ruta en la que buscar más tardará) obtendréis el resultado en dos columnas. A la izquierda el nombre del fichero con su ruta completa, y a la derecha los megas que ocupa dicho fichero.

20160420_25Ficheros_Paso03

Por ejemplo, para mi directorio C:\Windows\System32 (y todas sus subcarpetas), éstos son mis 25 mayores ficheros:

20160420_25Ficheros_Paso04

Para cerrar la ventana pulsamos Enter de nuevo.

Espero que os sea útil el Script. Para cualquier comentario no dudéis de contactar mediante los enlaces de redes sociales o correo.

SAC

gigaSACs is a website dedicated to writing about Cloud Computing and programming, the main topics being Azure, .NET, SQL Server, Wintel, Linux, Java, and technology in general.