Cómo comprimir (y descomprimir) archivos usando PowerShell

Advertisements

El formato de archivo ZIP reduce el tamaño de los archivos comprimiéndolos en un solo archivo. Este proceso ahorra espacio en el disco, cifra los datos y facilita compartir archivos con otras personas. A continuación, se explica cómo comprimir y descomprimir archivos con PowerShell.

Cómo comprimir archivos usando PowerShell

Comencemos por comprimir algunos archivos en un archivo ZIP usando el cmdlet Compress-Archive. Toma la ruta de todos los archivos que desea comprimir (varios archivos están separados por una coma) y los archiva en el destino que especifique.

Primero, abra PowerShell buscándolo en el menú Inicio, luego escriba el siguiente comando, reemplazando <PathToFiles> y <PathToDestination> con la ruta de los archivos que desea comprimir y el nombre y la carpeta que desea, respectivamente:

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>

Comprima algunos archivos en PowerShell.

Advertisements

Cuando proporcione la ruta de destino, asegúrese de darle un nombre al archivo de almacenamiento; de lo contrario, PowerShell lo guardará como «.zip» donde usted lo especifique.

Notar: Las comillas alrededor de la ruta solo son necesarias cuando la ruta al archivo contiene un espacio.

Alternativamente, para comprimir todo el contenido de una carpeta, y todas sus subcarpetas, puede usar el siguiente comando, reemplazando <PathToFolder> y <PathToDestination> con la ruta a los archivos que desea comprimir y el nombre y la carpeta a la que desea que vaya, respectivamente:

Advertisements
Compress-Archive -LiteralPath <PathToFolder> -DestinationPath <PathToDestination>

Comprime una carpeta completa y todo su contenido.

En el ejemplo anterior, configuramos la ruta a un directorio que contiene múltiples archivos y carpetas sin especificar archivos individuales. PowerShell toma todo dentro del directorio raíz y lo comprime, subcarpetas y todo.

El cmdlet Compress-Archive le permite usar un comodín -Path para ampliar la funcionalidad aún más. Al usar el carácter, puede excluir el directorio raíz, comprimir solo archivos en un directorio o elegir todos los archivos de un tipo específico. Para usar un comodín con Compress-Archive, debe usar el

en su lugar, porque -LiteralPath no los acepta.

Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip

Arriba, hemos explicado cómo incluir el directorio raíz y todos sus archivos y subdirectorios al crear un archivo de almacenamiento.  Sin embargo, si desea excluir la carpeta raíz del archivo Zip, puede utilizar un carácter comodín para omitirlo del archivo.  Añadiendo un asterisco

al final de la ruta del archivo, le dice a PowerShell que solo busque lo que hay dentro del directorio raíz. Debería verse algo como esto:

Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip

Comprime todo el contenido de una carpeta, sin la carpeta raíz en sí.

A continuación, suponga que tiene una carpeta con varios tipos de archivos diferentes (.doc, .txt, .jpg, etc.) pero solo desea comprimir un tipo. Puede pedirle a PowerShell que los archive sin tocar explícitamente a otros. La notación de comando se vería así: Comprima solo tipos específicos de archivos de una carpeta.

Notar:

Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip

Los subdirectorios y archivos de la carpeta raíz no se incluyen en el archivo con este método.

Finalmente, si desea un archivo que solo comprima archivos en el directorio raíz, y todos sus subdirectorios, usará el comodín star-dot-star (*. *) Para comprimirlos. Se vería así: Comprima solo archivos en la carpeta raíz usando la tarjeta widlcard star-dot-star (*. *).

Notar: -Update Los subdirectorios y archivos de la carpeta raíz no se incluyen en el archivo con este método.

Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip

Incluso después de completar el archivado, puede actualizar un archivo comprimido existente utilizando el

configuración. Le permite reemplazar versiones antiguas de archivos en el archivo con versiones más nuevas con el mismo nombre y agregar archivos que se crearon en el directorio raíz. Se verá algo como esto:

Actualice un archivo zip ya existente mediante el parámetro -Update.

Cómo descomprimir archivos usando PowerShell <PathToZipFile> Además de poder comprimir archivos y carpetas, PowerShell tiene la capacidad de descomprimir archivos. El proceso es incluso más fácil que comprimirlos; todo lo que necesita es el archivo de origen y un destino para los datos listos para ser descomprimidos. <PathToDestination> Abra PowerShell y escriba el siguiente comando, reemplazando

Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>

y

con la ruta a los archivos que desea comprimir y el nombre y la carpeta a la que desea que vaya, respectivamente:

Descomprima un archivo con el cmdlet Expand-Archive. -DestinationPath La carpeta de destino especificada para extraer los archivos se llenará con el contenido del archivo. Si la carpeta no existía antes de descomprimirla, PowerShell creará la carpeta y colocará el contenido en ella antes de descomprimirla.

De forma predeterminada, si omite el -DestinationPath , PowerShell descomprimirá el contenido en el directorio raíz actual y usará el nombre del archivo Zip para crear una nueva carpeta.

En el ejemplo anterior, si omitimos

, PowerShell creará la carpeta «Archivo» en la ruta «C: Users brady» y extraerá los archivos del archivo a la carpeta. -Force Si omite el parámetro -DestinationPath, PowerShell extrae el archivo zip en su directorio seleccionado actualmente.

Si la carpeta ya existe en el destino, PowerShell devuelve un error cuando intenta descomprimir los archivos. Sin embargo, puede obligar a PowerShell a sobrescribir los datos con las noticias utilizando el -Force configuración.

Solo debe usar la configuración si los archivos antiguos ya no son necesarios, ya que esto sobrescribirá irreversiblemente los archivos en su computadora.

Advertisements

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *