Hur man zippar och packar upp filer med PowerShell

James Hogan

Den hÀr handledningen handlar om hur man zippar och packar upp filer med PowerShell. Vi kommer att göra vÄrt bÀsta sÄ att du förstÄr den hÀr guiden. Jag hoppas att du gillar den hÀr bloggen Hur man zippar och packar upp filer med PowerShell. Om ditt svar Àr ja, vÀnligen dela efter att ha lÀst detta.

Kontrollera hur du zippar och packar upp filer med PowerShell

Det Àr enkelt att zippa eller extrahera (packa upp) filer eller mappar med PowerShell. PowerShell lade till funktionaliteten för arkivmodulen (Microsoft.PowerShell.Archive) frÄn PowerShell version 5.1. Om du har en Àldre version av PowerShell (version 4.0 eller tidigare) kan du ladda ner och installera modulen frÄn webbplatsen eller frÄn kommandoraden. Att manuellt ladda ner och installera eller kopiera filmodulen till modules-mappen fungerar inte eftersom det krÀver vissa beroende DLL-filer som tillhandahÄlls av .Net Framework 4.5. DÀrför bör du ocksÄ övervÀga att uppdatera .Net Framework om det Àr lÀgre Àn version 4.5.

Om du bara vill skicka en zippad loggfil till en leverantör Ă€r det förmodligen snabbare att högerklicka pĂ„ filen i Filutforskaren och vĂ€lja mappen “Skicka till zip”. Det finns mĂ„nga tredjepartsverktyg som ger ytterligare funktionalitet. De nya cmdletarna Ă€r dock mycket anvĂ€ndbara nĂ€r du behöver anvĂ€nda PowerShell för att automatisera en uppgift dĂ€r du behöver komprimera eller extrahera data. Jag ska ge dig ett exempel i slutet av det hĂ€r inlĂ€gget.

Eftersom applikationen Àr i produktion och körs pÄ en hÄrt belastad server, vill John inte försöka samla in loggfiler medan systemet Àr upptaget. AnvÀnd istÀllet PowerShell för att skripta hela processen och skicka allt till supporten vid den schemalagda tiden.

AnvÀnder PowerShell för att skapa zip-filer

LÄt oss börja med att anvÀnda PowerShell för att komprimera filer till en ny zip-fil. Allt du behöver göra Àr att anvÀnda parametern -Path för att ange den mapp du vill zippa, och parametern -DestinationPath för att ange namnet pÄ filen du vill skapa. Följande kommando kommer att komprimera mappen Invoices i rotkatalogen C och skapa en fil som heter Invoices.zip i mappen Filer:

  • Komprimera-arkiv -Path C:Invoices -DestinationPath C:FilesInvoices

Alternativt kan vi komprimera filerna i mappen Invoices individuellt med -LiteralPath istĂ€llet för -Path. Det hĂ€r kommandot skapar en fil med endast de tvĂ„ filerna som anges explicit i parametern –LiteralPath:

  • Compress-Archive -LiteralPath C:InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:FilesInvoices -Force

Observera att jag lade till parametern -Force för att skriva över filen jag skapade med det första kommandot. Utan parametern -Force kan du inte skriva över befintliga filer, och PowerShell kommer att uppmana dig att lÀgga till filer i arkivet istÀllet. För att lÀgga till filer till ett arkiv, anvÀnd parametern -Update. Följande kommando lÀgger till alla filer i mappen Invoices till min befintliga Invoices.zip-fil:

  • Komprimera-arkiv -Path C:Invoices* -Update -DestinationPath C:FilesInvoices

AnvÀnder PowerShell för att packa upp filer

Att extrahera filer frÄn ett arkiv Àr Ànnu enklare Àn att skapa ett. Allt du behöver göra Àr att ange filnamnet och mÄlmappen för de uppackade filerna. Följande kommando extraherar innehÄllet i filen Invoices.zip till en mapp som heter InvoicesUnzipped med hjÀlp av cmdleten Expand-Archive.

  • Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzipped

Mappen dÀr du vill packa upp filerna behöver inte finnas; Expand-Archive kommer automatiskt att skapa mappen om det behövs. Men om filerna du vill packa upp redan finns i mÄlmappen kommer Expand-Archive att returnera ett fel. Du kan skriva över filer i mÄlmappen genom att lÀgga till parametern -Force till kommandot.

Slutord: Hur man zippar och packar upp filer med PowerShell

Jag hoppas att du förstÄr den hÀr artikeln Hur man zippar och packar upp filer med PowerShell, om ditt svar Àr nej kan du frÄga vad som helst via kontaktforumsektionen relaterat till den hÀr artikeln. Och om ditt svar Àr ja, vÀnligen dela den hÀr artikeln med din familj och vÀnner.