Articles

Usando o PowerShell para Criar Arquivos ZIP e Descompactar Arquivos

Posted on

Por vezes pode ser útil criar de forma programática arquivos zip ou extrair ficheiros de arquivos existentes. O Windows PowerShell 5.0 adicionou dois cmdlets para fazer exactamente isso. O Compress-Archive cmdlet permite-lhe criar novos arquivos a partir de pastas ou ficheiros individuais e adicionar ficheiros a arquivos; Extract-Archive pode ser usado para descomprimir ficheiros.

Se ainda não tiver o PowerShell 5.0 ou mais tarde instalado nos seus sistemas, pode descarregar a última versão do Windows Management Framework a partir do website da Microsoft aqui.

Utilizar PowerShell para Criar Ficheiros Zip

Comecemos por utilizar PowerShell para comprimir ficheiros num novo arquivo zip. Tudo o que precisa de fazer é usar o parâmetro -Path para especificar a pasta que pretende comprimir e o parâmetro -DestinationPath para especificar o nome do arquivo que pretende criar. O comando abaixo irá compactar a pasta Invoices no directório raiz C e criar um arquivo chamado Invoices.zip na pasta Archives:

Compress-Archive -Path C:\Invoices -DestinationPath C:\Archives\Invoices

Alternatively, poderíamos compactar os ficheiros na pasta Invoices individualmente utilizando -LiteralPath em vez de -Path. Este comando cria um arquivo com apenas os dois ficheiros explicitamente listados no parâmetro -LiteralPath:

Compress-Archive -LiteralPath C:\ Invoices\File1.txt, C:\Invoices\File2.txt -DestinationPath C:\Archives\Invoices -Force

Nota que adicionei o parâmetro -Force para sobrepor o arquivo que criei utilizando o primeiro comando. Sem o parâmetro -Force, não é possível sobrescrever arquivos existentes e o PowerShell pedir-lhe-á para adicionar ficheiros ao arquivo em vez disso.

Para adicionar ficheiros a um arquivo, utilize o parâmetro -Update. O comando abaixo adiciona todos os ficheiros da pasta Invoices à minha pasta Invoices.zip archive:

Op>Opcionalmente, pode utilizar o parâmetro -CompressionLevel com um de três valores: Optimal, NoCompression ou Fastest. Optimal é a configuração padrão se o parâmetro -CompressionLevel não estiver definido; utiliza a melhor compressão disponível, mas pode demorar mais tempo do que a utilização Fastest. Para criar um arquivo sem compressão, usar o valor NoCompression.

Usar PowerShell para Descomprimir Ficheiros

Extrair ficheiros de um arquivo é ainda mais fácil do que criar um. Tudo o que precisa de fazer é especificar o nome do arquivo e a pasta de destino para os ficheiros descomprimidos. O comando abaixo extrai o conteúdo do arquivo Invoices.zip para uma pasta chamada InvoicesUnzipped usando o Expand-Archive cmdlet.

Expand-Archive -LiteralPath C:\Archives\Invoices.Zip -DestinationPath C:\ InvoicesUnzipped

A pasta onde pretende descomprimir os ficheiros não precisa de existir; Expandir-Archive criará automaticamente a pasta, se necessário. Mas se os ficheiros que pretende descomprimir já existirem na pasta de destino, Expandir-Arquivo irá devolver um erro. Pode sobrescrever ficheiros na pasta de destino adicionando o parâmetro -Force ao comando.

consultor de TI e autorizando a especialização em tecnologias de gestão e segurança. Russell tem mais de 15 anos de experiência em TI, escreveu um livro sobre segurança Windows, e foi co-autor de um texto para a série Curso Académico Oficial da Microsoft (MOAC).

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *