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