Como Zip (e Unzip) Files Using PowerShell

  • Brady Gavin

    @bradyjgavin

  • br>>>li>Junho 22, 2020, 11:23am EDT

O formato de ficheiro ZIP reduz o tamanho dos ficheiros, comprimindo-os num único ficheiro. Este processo poupa espaço em disco, encripta dados, e facilita a partilha de ficheiros com outros. Eis como zipar e descompactar ficheiros usando PowerShell.

Como zipar ficheiros usando PowerShell

Comecemos por comprimir alguns ficheiros num arquivo ZIP usando a Compress-Archive cmdlet. Leva o caminho para quaisquer ficheiros que queira comprimir – os ficheiros múltiplos são separados com uma vírgula – e arquiva-os no destino que especificar.

Primeiro, abra PowerShell procurando-o a partir do menu Iniciar e depois digitando o seguinte comando, substituindo <PathToFiles> e <PathToDestination> pelo caminho para os ficheiros que pretende comprimir e o nome e pasta que pretende, respectivamente:

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
Anúncio

Quando fornecer o caminho de destino, não se esqueça de dar um nome ou PowerShell ao ficheiro de arquivo como “.zip” onde especifica.

Nota: As citações em torno do caminho só são necessárias quando o caminho do ficheiro contém um espaço.

Alternativamente, para zipar todo o conteúdo de uma pasta – e todas as suas subpasta – pode usar o seguinte comando, substituindo <PathToFolder> e <PathToDestination> com o caminho para os ficheiros que pretende comprimir e o nome e pasta para onde pretende que vá, respectivamente:

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

No exemplo anterior, colocamos o caminho para um directório com múltiplos ficheiros e pastas nele, sem especificar ficheiros individuais. PowerShell leva tudo dentro do directório raiz e comprime-o, subpastas e all.

Anúncio

O Compress-Archive cmdlet permite-lhe usar um carácter curinga (*) para expandir ainda mais a funcionalidade. Quando utiliza o carácter, pode excluir o directório raiz, comprimir apenas ficheiros num directório, ou escolher todos os ficheiros de um tipo específico. Para utilizar um curinga com Compress-Archive, deve utilizar o parâmetro -Path, pois -LiteralPath não os aceita.

Acima, abordámos como incluir o directório raiz e todos os seus ficheiros e subdirectórios ao criar um ficheiro de arquivo. Contudo, se desejar excluir a pasta raiz do ficheiro Zip, pode usar um wildcard para omitir o ficheiro do arquivo. Ao adicionar um asterisco (*) ao final do caminho do ficheiro, diz ao PowerShell apenas para agarrar o que está dentro do directório raiz. Deve parecer algo como isto:

Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip

Next, digamos que tem uma pasta com um monte de tipos de ficheiro diferentes (.doc, .txt, .jpg, etc.) mas só quer comprimir todos de um tipo. Pode dizer ao PowerShell para os arquivar sem tocar explicitamente nos outros. A notação do comando ficaria assim:

Compress-Archive -Path C:\path\to\file\*.jpg -DestinationPath C:\path\to\archive.zip

Nota: Os subdirectórios e os ficheiros da pasta raiz não são incluídos no arquivo com este método.

Publicidade

Finalmente, se quiser um arquivo que apenas comprima ficheiros no directório raiz – e em todas as suas subdirectorias – utilizaria o wildcard star-dot-star (*.*) para zipá-los. Seria algo parecido com isto:

Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip

Nota: Os subdirectórios e os ficheiros da pasta raiz não são incluídos no arquivo com este método.

P>Após o arquivo estar completo, pode actualizar um ficheiro zipado existente com o uso do parâmetro -Update. Permite substituir versões mais antigas de ficheiros no arquivo por novas versões com os mesmos nomes, e adicionar ficheiros que tenham sido criados no directório raiz. Ficará parecido com isto:

Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip

Como descompactar ficheiros usando PowerShell

Além de poder descompactar ficheiros e pastas, PowerShell tem a capacidade de descompactar arquivos. O processo é ainda mais fácil do que comprimi-los; tudo o que precisa é do ficheiro fonte e de um destino para os dados prontos a descompactar.

Anúncio

Abrir PowerShell e digite o seguinte comando, substituindo <PathToZipFile> e <PathToDestination> com o caminho para os ficheiros que pretende comprimir e o nome e pasta para onde pretende ir, respectivamente:

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

A pasta de destino especificada para extrair os ficheiros irá povoar com o conteúdo do arquivo. Se a pasta não existia antes de descompactar, PowerShell irá criar a pasta e colocar o conteúdo nela antes de descompactar.

Por defeito, se deixar de fora o parâmetro -DestinationPath, PowerShell irá descompactar o conteúdo no directório raiz actual e usar o nome do ficheiro Zip para criar uma nova pasta.

No exemplo anterior, se deixarmos de fora -DestinationPath , PowerShell criará a pasta “Arquivo” no caminho “C:\Users\brady” e extrairá os ficheiros do arquivo para a pasta.

Publicidade

Se a pasta já existir no destino, PowerShell devolverá um erro quando tentar descomprimir os ficheiros. Contudo, pode forçar PowerShell a sobrepor os dados com os novos usando o parâmetro -Force parâmetro.

Só deve usar o parâmetro -Force se os ficheiros antigos já não forem necessários, pois isto irá substituir irreversivelmente os ficheiros no seu computador.

Brady Gavin
Brady Gavin está imerso em tecnologia há 15 anos e escreveu mais de 150 tutoriais e explicações detalhadas. Ele cobriu tudo, desde hacks de registo do Windows 10 a dicas do navegador Chrome. Brady tem um diploma em Informática do Camosun College em Victoria, BC. Ler Bio completo “

Deixe uma resposta

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