POWERSHELL : Compression d’un dossier 1

POWERSHELL : Compression d’un dossier

Après Kixtart, Perl et Python, voici le tour de PowerShell !

Je découvre ce langage de script proposé par Microsoft et disponible depuis XP jusqu’à 2008 Server R2.

Comme à mon habitude, je vais vous faire partager quelques bouts de code que j’ai assemblé.

A partir du code suivant, j’ai assemblé la fonction suivante qui compresse un dossier à partir des routines de Windows :

[shell]function CompressDossier

{

param ($Directory = $(throw “Paramètre de fonction non fourni!”), $ZipFileName= $(throw “Paramètre de fonction non fourni!”))

if (test-path $ZipFileName) {

Write-log ” Le fichier d’archive $ZipFileName existe!”

remove-item -force $ZipFileName

Write-log ” Le fichier d’archive existant a été supprimé”

}

set-content $ZipFileName (“PK” + [char]5 + [char]6 + (“$([char]0)” * 18))

(dir $ZipFileName).IsReadOnly = $false

$shellApplication = new-object -com shell.application

$ZipFile = $shellApplication.NameSpace($ZipFileName)

Write-log ” Compression de $Directory”

Write-log ” vers $ZipFileName”

$ZipFile.CopyHere($Directory)

do {

$zipCount = $ZipFile.Items().count

Start-sleep -Seconds 1

} While($ZipFile.Items().count -lt 1)

Write-log ” Compression terminée”

## Delete folder after compression is finished

[IO.Directory]::Delete(“$Directory”, $True)

Write-log ” Fichiers de sauvegarde non compressés supprimés!”

}

L’usage de cette fonction est des plus simples :

$Directory = « c:test »

$ZipFileName= « c:test.zip »

CompressDossier $ Directory $ ZipFileName[/shell]

A propos Olivier Olejniczak

Cofondateur de SynerGeek.fr. Passionné d'informatique, je m'intéresse plus particulièrement aux technologies de virtualisation et de stockage. J'apprécie la liberté et la quasi-absence de frontières à mon imagination qu'offre l'OpenSource et Linux. Professionnellement, je travaille exclusivement avec les outils Microsoft. Les pieds bien sur terre et ancrés dans le quotidien de l'entreprise, j'aime faire partager mes découvertes et contribuer à un meilleur usage des technologies. Vous aussi, rejoignez-nous sur Synergeek et partagez votre expérience!

Je vous propose également...

[Interview] Martial Auroy, professionnel du monde Microsoft 2

[Interview] Martial Auroy, professionnel du monde Microsoft

Interview avec Martial Auroy, chef d'entreprise d'un centre de formation spécialisé Microsoft Office 365 en Normandie.

Microsoft SQL 2014 est sorti ! 3

Microsoft SQL 2014 est sorti !

Microsoft sort sa dernière version de SQL Server, alors quoi de neuf au niveau des améliorations et la gestion des licences.

1 commentaire

  1. Bonjour !
    J’aurai 2 petites question:
    -“Paramètre de fonction non fourni!” –> Que dois-t-on mettre ?
    – Peux on modifier le programme pour faire un “compresseur” des fichiers PDF (sans changer le format ?).

    Merci par avance