Cómo comprimir (y descomprimir) archivos con PowerShell

PowerShellHeader

El formato de archivo ZIP reduce el tamaño de los archivos al comprimirlos en un solo archivo. Este proceso ahorra espacio de almacenamiento, cifra los datos y facilita el intercambio de archivos con otros. Aprenda a comprimir y descomprimir archivos con PowerShell.

Cómo comprimir archivos usando PowerShell

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

Primero abra PowerShell buscándolo en el menú Inicio y luego escribiendo y reemplazando el siguiente comando y con la ruta a los archivos que desea comprimir y el nombre y la carpeta para moverlos a:

Compress-Archive -LiteralPath  -DestinationPath 

Comprima algunos archivos en PowerShell.

Si especifica la ruta de destino, debe dar un nombre al archivo de almacenamiento. De lo contrario, PowerShell los guarda como «.zip» donde especifique.

Nota: Las comillas alrededor de la ruta solo son necesarias si la ruta del archivo contiene un espacio.

Alternativamente, puede usar y reemplazar el siguiente comando para comprimir todo el contenido de una carpeta y todas sus subcarpetas y con la ruta a los archivos que desea comprimir y el nombre y la carpeta a los que desea que vayan:

Compress-Archive -LiteralPath  -DestinationPath 

Comprime una carpeta completa y todo su contenido.

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

Con el cmdlet Compress-Archive, puede usar un carácter comodín (*) para ampliar aún más la funcionalidad. Si usa el carácter, puede excluir el directorio raíz, comprimir solo archivos en un directorio o seleccionar todos los archivos de un tipo determinado. Para usar un marcador de posición con los archivos de Compress, debe usar ese -Path En cambio, porque -LiteralPath no los acepta.

Hemos descrito anteriormente cómo se incluyen 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 eliminarla del archivo con un marcador de posición. Si agrega un asterisco (*) al final de la ruta del archivo, le indica a PowerShell que obtenga solo el contenido en el directorio raíz. Debería verse más o menos así:

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

Comprima todo el contenido de una carpeta sin la carpeta raíz.

Supongamos que tiene una carpeta con varios tipos de archivos diferentes (.doc, .txt, .jpg, etc.), pero solo desea comprimir todos de un tipo. Puede decirle a PowerShell que los archive sin tocar explícitamente a los demás. La notación del comando se vería así:

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

Comprima solo ciertos tipos de archivos de una carpeta.

Nota: Con este método, los subdirectorios y los archivos de la carpeta raíz no se incluyen en el archivo.

Si desea un archivo que solo comprima archivos en el directorio raíz, y en todos los subdirectorios, use el marcador de posición star-dot-star (*. *) Para comprimirlos. Se vería así:

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

Solo comprima archivos de la carpeta raíz con Widlcard Star-Dot-Star (*. *).

Nota: Con este método, los subdirectorios y los archivos de la carpeta raíz no se incluyen en el archivo.

Incluso después de completar el archivo, aún puede actualizar un archivo comprimido existente usando -Update Parámetro. Puede reemplazar versiones anteriores de archivos en el archivo por otras más nuevas con el mismo nombre y agregar archivos que se crearon en el directorio raíz. Se verá algo como esto:

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

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

Cómo descomprimir archivos usando PowerShell

PowerShell no solo puede comprimir archivos y carpetas, sino también descomprimir archivos. El proceso es incluso más fácil que la compresión. Todo lo que necesita es el archivo de origen y un destino para los datos que están listos para ser extraídos.

Abra PowerShell e ingrese el siguiente comando para reemplazarlo y con la ruta a los archivos que desea comprimir y el nombre y la carpeta a los que desea que vayan:

Expand-Archive -LiteralPath  -DestinationPath 

Descomprima un archivo con el cmdlet Expand-Archive.

La carpeta de destino en la que se van a extraer los archivos se llena con el contenido del archivo. Si la carpeta no estaba allí antes de desempacar, PowerShell crea la carpeta y coloca el contenido en ella antes de desempacar.

Por defecto si deja eso fuera -DestinationPath Parámetros, PowerShell desempaqueta el contenido en el directorio raíz actual y usa el nombre del archivo zip para crear una nueva carpeta.

En el ejemplo anterior, si dejamos de lado -DestinationPath PowerShell crea la carpeta «Archivo» en la ruta «C: Users brady» y extrae los archivos del archivo en la carpeta.

Si omite el parámetro -DestinationPath, PowerShell extrae el archivo zip en el directorio seleccionado actualmente.

Si la carpeta ya existe en el destino, PowerShell devuelve un error al intentar descomprimir los archivos. Sin embargo, puede forzar a PowerShell a sobrescribir los datos con los nuevos datos -Force Parámetro.

Solo debes usar eso -Force Parámetros cuando los archivos antiguos ya no son necesarios ya que esto reemplaza irreversiblemente los archivos en su computadora.

Deja una respuesta

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