A PowerShell 5.0 (amely a Windows Management Framework 5.0 rendszerhez tartozik, amelyet alapértelmezés szerint a Windows 10 tartalmaz) külön modullal rendelkezik Microsoft.PowerShell.Archive, amely lehetővé teszi ZIP archívumok létrehozását és kibontását a parancssorból vagy a PowerShell parancsfájlokból. A Microsoft.PowerShell.Archive modulban elérhető elérhető parancsmagok listája (C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \ Modules \ Microsoft.PowerShell.Archive) a Get-Command használatával érhető el..
Get-Command -modul Microsoft.PowerShell.Archive | Táblázat formátuma - AutoSize;
- -- -- -
Funkció Compress-Archive 1.0.0.0 Microsoft.PowerShell.Archive
Funkció Expand-Archive 1.0.0.0 Microsoft.PowerShell.Archive
Mint láthatjuk, két cmdlet érhető el, amelyek nevei magukért beszélnek:
- Tömörítse az archívumot
- Bontsa ki az Archívumot
Nézzük meg példákat ezekre a parancsmagokra, a megadott fájlokból vagy könyvtárakból ZIP-archívumok létrehozásához / kibontásához.
Parancs formátuma Tömörítse az archívumot következő:
Compress-Archive [-Path] String [] [-DestinationPath] String [-CompressionLevel String] [-Update]
Paraméterben útvonal meg kell határozni a csomagolni kívánt forrásfájlokat, -DestinationPath -a létrehozott archív fájl helye, CompressionLevel - tömörítési szint (NoCompression, Optimális vagy Leggyorsabb). paraméter -frissítés lehetővé teszi a fájlok hozzáadását / frissítését egy meglévő ZIP-archívumban. Kulccsal -erő, Ha a megadott névvel rendelkező archívum már létezik, akkor azt felülírják.
tanács. A NoCompression tömörítési szintjét általában a már tömörített fájlok (jpg, msi, mp3 stb.) Egyetlen archívumfájlba történő egyesítésére kell használni, hogy a rendszer ne pazarolja az időt tömörítésükre..Példa parancs egyetlen fájl tömörítésére:
Tömörítés - Archívum - C út: \ Naplók \ Update.log - Célútvonal C út: \ Archívum \ logs.zip -CompressionLevel Optimal
Tömörítse a könyvtár teljes tartalmát:
Tömörítés - Archívum - C út: \ Naplók \ -Célcím C: \ Archívum \ logs-all.zip -CompressionLevel Optimal
A fájlokat egy adott maszkkal tömörítheti. Például csak a * .txt kiterjesztésű fájlokat kell csomagolnia.
Compress-Archive -C út: \ Naplók \ * .Txt -DestinationPath C: \ Archive \ logs-txt.zip -CompressionLevel Leggyorsabb
Kivétel: "Írj" és "3" argumentum (ok) hívása: "A stream túl hosszú volt."
C: \ Windows \ system32 \ WindowsPowerShell \ v1.0 \ Modulok \ Microsoft.PowerShell.Archive \ Microsoft.PowerShell.Archive.psm1: 805
char: 29
+... $ destStream.Write ($ buffer, 0, $ numberOfBytesRead)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ Kategóriainformáció: Nincs meghatározva: (:) [], MethodInvocationException
+ FullyQualifiedErrorId: IOException
A ZIP-archívum kibontásához használja a parancsmagot Bontsa ki az Archívumot.
Parancs formátuma:
Expand-Archive [-Path] String [-DestinationPath] String [-Force] [-Confirm]
Például a korábban létrehozott ZIP-archívum kibontásához a célkönyvtárban található fájlok felülírásával:
Bontsa ki - Archívum - C út: \ Scripts \ test1.zip -DestinationPath c: \ scripts -Force
A verzió archiválási moduljának hiányosságai közül érdemes megjegyezni:
- Nem lehet megtekinteni az archívum tartalmát, annak kicsomagolása nélkül
- A fájlok egy részét nem lehet kibontani az archívumból (csak teljes tömörítés)
- A zip formátumon kívül más archívumformátumok nem használhatók
A Poweshell korábbi verzióiban a NET Framework 4.5 osztályt használhatja a ZIP fájlok tömörítésére / kicsomagolására zipfile. Az osztály használatának formátuma a következő.
Csomagoljuk a fájlokat az archívumba:
Add-Type - Összeszerelés “system.io.compression.filesystem”
$ src = “C: \ Naplók”
$ dst = “C: \ Archive \ test.zip”
[io.compression.zipfile] :: CreateFromDirectory ($ src, $ dst)
A következők szerint kibonthatja a ZIP-archívumot:
Add-Type - Összeszerelés “system.io.compression.filesystem”
$ src = "C: \ Archive \ test.zip"
$ dst = "C: \ Naplók \ Archve"
[io.compression.zipfile] :: ExtractToDirectory ($ src, $ dst)