Comment décompresser un fichier dans PowerShell ?

Comment décompresser un fichier dans PowerShell ?


Source : Stack Overflow [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 :