Comment décompresser un fichier dans PowerShell ?
Voici une méthode simple utilisant ExtractToDirectory de System.IO.Compression.ZipFile :
Add-Type -AssemblyName System.IO.Compression.FileSystem
function Unzip
{
param([string]$zipfile, [string]$outpath)
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
}
Unzip "C:\a.zip" "C:\a"
Notez que si le dossier cible n’existe pas, ExtractToDirectory le créera. Autres mises en garde :
-
Les fichiers existants ne seront pas écrasés et déclencheront plutôt une IOException.
-
Cette méthode nécessite au minimum .NET Framework 4.5, disponible pour Windows Vista et versions ultérieures.
-
Les chemins relatifs ne sont pas résolus en fonction du répertoire de travail actuel, voir Why don’t .NET objects in PowerShell use the current directory?
Voir aussi :
- How to Compress and Extract files (Microsoft Docs)