- 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>
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.
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.
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.
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.
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 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 “