Uso de PowerShell para crear archivos ZIP y descomprimir archivos
A veces puede resultar útil crear archivos zip mediante programación o extraer archivos de archivos existentes. Windows PowerShell 5.0 agregó dos cmdlets para hacer precisamente eso. El cmdlet Compress-Archive le permite crear nuevos archivos a partir de carpetas o archivos individuales y agregar archivos a los archivos; Extract-Archive se puede utilizar para descomprimir archivos.
Si aún no tiene PowerShell 5.0 o posterior instalado en sus sistemas, puede descargar la última versión de Windows Management Framework desde el sitio web de Microsoft.
Usando PowerShell para crear archivos Zip
Comencemos usando PowerShell para comprimir archivos en un nuevo archivo zip. Todo lo que necesita hacer es usar el parámetro -Path para especificar la carpeta que desea comprimir y el parámetro -DestinationPath para especificar el nombre de el archivo que desea crear. El siguiente comando comprimirá la carpeta Facturas en el directorio raíz C y creará un archivo llamado Invoices.zip en la carpeta Archivos:
Compress-Archive -Path C:Invoices -DestinationPath C:ArchivesInvoicesAlternativamente, podríamos comprimir los archivos en la carpeta Facturas individualmente usando -LiteralPath en lugar de -Path. Este comando crea un archivo con solo los dos archivos enumerados explícitamente en el parámetro -LiteralPath:
Compress-Archive -LiteralPath C: InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:ArchivesInvoices -ForceTenga en cuenta que agregué el parámetro -Force para sobrescribir el archivo que creé usando el primer comando. Sin el parámetro -Force, no puede sobrescribir los archivos existentes y PowerShell le pedirá que agregue archivos al archivo.
Para agregar archivos a un archivo, use el parámetro -Update. El siguiente comando agrega todos los archivos en la carpeta Facturas a mi archivo Invoices.zip existente:
Compress-Archive -Path C:Invoices* -Update -DestinationPath C:ArchivesInvoicesOpcionalmente, puede utilizar el parámetro -CompressionLevel con uno de tres valores: Óptimo, Sin compresión o Más rápido. Óptima es la configuración predeterminada si el parámetro -CompressionLevel no está configurado; Utiliza la mejor compresión disponible, pero puede tardar más que usar Fastest. Para crear un archivo sin compresión, utilice el valor NoCompression.
Usar PowerShell para descomprimir archivos
Extraer archivos de un archivo es incluso más fácil que crear uno. Todo lo que necesita hacer es especificar el nombre del archivo y la carpeta de destino de los archivos descomprimidos. El siguiente comando extrae el contenido del archivo Invoices.zip a una carpeta llamada InvoicesUnzipped usando el cmdlet Expand-Archive.
Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzippedNo es necesario que exista la carpeta donde desea descomprimir los archivos; Expand-Archive creará automáticamente la carpeta si es necesario. Pero si los archivos que desea descomprimir ya existen en la carpeta de destino, Expand-Archive devolverá un error. Puede sobrescribir archivos en la carpeta de destino agregando el parámetro -Force al comando.