Script PowerShell para listar los 10 archivos más grandes en un directorio y sus subdirectorios en Windows



 El siguiente script es un comando de PowerShell que lista los 10 archivos más grandes en un directorio y sus subdirectorios, ordenados por tamaño, mostrando su tamaño en MB y su ruta completa en formato tabular. 

👉Ver video🎦

Get-ChildItem -Path C:\ -Recurse -File | Sort-Object -Property Length -Descending | Select-Object -First 10 @{Name="Tamaño (MB)";Expression={[math]::Round($_.Length / 1MB, 2)}}  , @{Name="Ruta1";Expression={$_.FullName}} | Format-Table -AutoSize


A continuación, te proporciono los pasos para ejecutarlo y una explicación de cómo funciona.


Pasos para ejecutar el script en PowerShell

  1. Abrir PowerShell:

    • En tu computadora con Windows, haz lo siguiente:
      • Pulsa la tecla Windows y escribe PowerShell.
      • Haz clic en Windows PowerShell o Windows Terminal (si lo tienes instalado y configurado para usar PowerShell).
  2. Ejecutar PowerShell como administrador (opcional):

    • Si necesitas buscar archivos en ubicaciones protegidas del sistema (como C:\Windows), es posible que necesites ejecutar PowerShell con permisos de administrador.
    • Para hacerlo:
      • Haz clic derecho en Windows PowerShell y selecciona Ejecutar como administrador.
  3. Habilitar la ejecución de scripts (si es necesario):

    • Por defecto, algunas políticas de seguridad en PowerShell pueden impedir la ejecución de ciertos scripts. Si aparece un error, puedes ejecutar el siguiente comando para permitir scripts en la sesión actual:
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
      
  4. Copiar y pegar el script:

    • Copia el comando completo que compartiste y pégalo en la ventana de PowerShell. Asegúrate de copiarlo exactamente como está.
  5. Ejecutar el script:

    • Pulsa Enter para ejecutar el comando.
    • El script comenzará a buscar los archivos en el directorio especificado (C:\ en este caso), calculará su tamaño en MB y los ordenará para mostrar los 10 más grandes.
  6. Ver el resultado:

    • El resultado se mostrará en formato tabular con columnas que incluyen:
      • Tamaño (MB): El tamaño del archivo en megabytes, redondeado a 2 decimales.
      • Ruta1: La ruta completa del archivo.

Explicación del script

El comando se divide en partes específicas que realizan acciones concretas:

  1. Get-ChildItem -Path C:\ -Recurse -File:

    • Lista todos los archivos en el directorio C:\ y sus subdirectorios.
    • La opción -Recurse incluye los subdirectorios de forma recursiva.
    • La opción -File asegura que solo se obtendrán archivos (y no carpetas).
  2. Sort-Object -Property Length -Descending:

    • Ordena los archivos por la propiedad Length (tamaño en bytes) en orden descendente (de mayor a menor).
  3. Select-Object -First 10:

    • Selecciona solo los primeros 10 archivos del resultado ordenado.
  4. @{Name="Tamaño (MB)";Expression={[math]::Round($_.Length / 1MB, 2)}}:

    • Calcula el tamaño de cada archivo en megabytes (MB), dividiendo el tamaño en bytes ($.Length) por 1MB (1048576 bytes).
    • El resultado se redondea a 2 decimales con [math]::Round.
  5. @{Name="Ruta1";Expression={$_.FullName}}:

    • Extrae la ruta completa de cada archivo mediante la propiedad FullName.
  6. Format-Table -AutoSize:

    • Formatea los resultados como una tabla y ajusta automáticamente el ancho de las columnas.

Ejemplo de resultado

Después de ejecutar el comando, el resultado podría verse así (según los archivos de tu sistema):

Tamaño (MB)   Ruta1
------------- -----------------------------------------------
1024.56       C:\Users\Admin\Downloads\video.mp4
850.23        C:\Program Files\Software\installer.exe
765.89        C:\Backup\OldProject.zip
...

Notas importantes

  1. Cuidado con el tiempo de ejecución:

    • Si estás ejecutando el comando en un directorio grande (como C:\), puede tardar un tiempo considerable en completarse, especialmente si hay muchos archivos.
  2. Permisos:

    • Asegúrate de tener permisos para acceder a todos los directorios y archivos dentro de la ruta especificada. Si no tienes acceso, PowerShell podría mostrar errores de "Acceso denegado".
  3. Personalización del script:

    • Puedes modificar el directorio de búsqueda (C:\) a otro que prefieras, por ejemplo:
      Get-ChildItem -Path "C:\Users\TuUsuario\Documents" -Recurse -File ...
      
  4. Cambiar el número de resultados:

    • Si deseas mostrar más o menos de 10 archivos, cambia el valor de -First 10 a otro número, como -First 20.

Con estos pasos y explicaciones, puedes ejecutar y personalizar el script de acuerdo a tus necesidades.

👉Ver video🎦

Comentarios

Entradas populares de este blog

Como restablecer la contraseña del usuario root de MySQL en Windows

instalar el driver JDBC de MySQL en NetBeans en Ubuntu Linux

Comandos SQL Básicos de Manipulación de Datos en MySQL