Accueil > Powershell > Compresser un dossier.

Compresser un dossier.

Ce script permet de créer une archive datée d’un dossier.

?View Code POWERSHELL
$date = (Get-Date).ToString("ddMMyyyyhhmmss")
$dir = Get-Item .
$zipfilename = $dir.fullname + "\" + $dir.name + "-" + $date + "-archives.zip"
 
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
(Get-ChildItem $zipfilename).IsReadOnly = $false
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
 
    foreach($file in $input )
    {
         $zipPackage.CopyHere($file.FullName)
         Start-sleep -milliseconds 500
    }

Exemple de syntaxe:

?View Code POWERSHELL
Get-Item . | .\create-zip.ps1
Categories: Powershell Tags:

Vous avez aimé cet article ? Alors partagez-le en cliquant sur les boutons ci-dessous :


Twitter Facebook Google Plus Linkedin

Article rédigé par Christophe Bluteau.

  1. Pilou
    27/02/2018 à 14:33 | #1

    Hello, quelqu’un pour m’aider svp, j’ai un problème pour zipper un dossier:
    Code:
    $source = « Source »
    $archive = « nomarchive.zip »
    Add-Type -A System.IO.Compression.FileSystem
    [IO.Compression.ZipFile]::ExtractToDirectory(‘$archive’, ‘$source’)

    Message d’erreur:

    Exception lors de l’appel de «ExtractToDirectory» avec «2» argument(s): «Could not find file
    ‘C:\windows\system32\$archive’.»
    Au caractère Ligne:4 : 1
    + [IO.Compression.ZipFile]::ExtractToDirectory(‘$archive’, ‘$source’)
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : FileNotFoundException

  1. Pas encore de trackbacks