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...

Microsoft SQL 2014 est sorti ! 2

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.

JSON dans les scripts Bash avec Ticktick 3

JSON dans les scripts Bash avec Ticktick

Je vais vous présenter l’ami du WGET par excellence. Imaginez le contexte suivant : sur …

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *