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.

Asignar carpeta Onedrive empresarial a una unidad removible

Onedrive, la unidad de almacenamiento en la nube de Microsoft, ofrece actualmente en su edición empresarial 1 Tb de almacenamiento. Es una cifra alta para un uso habitual. Sin embargo, al contrario que su versión personal, no permite cambiar la carpeta local a una unidad removible. Por defecto, en la versión empresarial queda dentro de la ruta de usuario o si lo modificamos en una ruta de una unidad no removible. En la versión personal, durante el proceso de instalación, podemos seleccionar una carpeta cualquiera, ya sea dentro o no de una unidad removible, para el almacén local.

En palabras de Microsoft, los dos Onedrive son productos distintos realmente, que comparten el nombre, de ahí ese diferente comportamiento.

Podría no parecer un problema a simple vista, pero con un terabyte de posible almacenamiento existen dispositivos en los que sí supone un problema, como por ejemplo las tabletas Windows, con unidades de almacenamiento de 32Gb o 64Gb, ocupar 10 ó 20 gigas que podríamos desviar a una tarjeta de memoria pueden suponer la diferencia entre poder usar o no el sistema.

En esos casos, disponer de una tarjeta SD por ejemplo que va siempre insertada en la tableta se hace imprescindible como unidad de apoyo. Y es una unidad ideal para el almacenamiento local de Onedrive.

La siguiente solución permite realizar ésta operación, pero hay que aclarar que aunque funcional, no es una solución oficial de Microsoft, con todo lo que ello conlleva. Yo tampoco me responsabilizo de cualquier problema que pueda surgir.

El primer paso es crear una carpeta en una unidad no removible de nuestro sistema. Por ejemplo, en la raíz de C, llamada SD:

 

20160406_OnedriveSD_Paso01

La carpeta debe estar vacía para poder continuar, por lo que no debemos copiar nada dentro. Ahora abrimos el Administrador de discos y buscamos la unidad removible. Pulsamos con el botón derecho sobre ella y seleccionamos la opción para cambiar la letra de unidad:

20160406_OnedriveSD_Paso02

 

Pulsamos sobre la opción de agregar ruta:

 

20160406_OnedriveSD_Paso03

 

Y montamos la carpeta creada al principio, buscándola con examinar y posteriormente pulsamos aceptar:

 

20160406_OnedriveSD_Paso04

 

Ahora la carpeta es un punto de montaje de la unidad removible. Sólo tenemos que desvincular la cuenta Onedrive, si la tenemos vinculada, y volver a vincularla, cambiando durante el proceso de inicialización la ruta local, usando la carpeta (no la unidad removible). Observaremos que no nos pone ningún limitante para el uso de dicha carpeta y que comenzará la sincronización. Los archivos se dirigirán a la unidad removible, no ocupando sitio en la unidad no removible.

Si deseamos extraer la unidad, previamente hay que desvincular la cuenta Onedrive.