Benutzer mit den meisten Antworten
Zip Dateien entpacken mit Powershell

Frage
-
Hallo Community,
Ich habe zur Zeit eine wiederkehrende Aufgabe, Einen kompletten Ordner mit Zip Dateien zu entpacken und zu verschieben und danach die .zip Dateien zu löschen. Dies würde ich gern mit einem Powershell Skript automatisieren. Allerdings bin ich was das angeht noch ein ziemlicher Anfänger. Deshalb hänge ich schon beim Zips entpacken fest. Hat vielleicht jemand einen Anstoß für mich?
Mein momentanes Skript:
[cmdletbinding()] Param() function main { $Localpath = Get-Location $Datazip = Get-ChildItem -Path $Localpath -Filter *.zip | SELECT Name foreach ($_ in $Datazip) { Write-Host "Unzip: $_" UnZipper "$_" "$Localpath" } Read-Host } function UnZipper($file, $destination) { $shell = new-object -com shell.application $zip = $shell.NameSpace($file) foreach($item in $zip.items()) { $shell.Namespace($destination).copyhere($item) } } main
Antworten
-
Hallo,
die PowerShell kennt je nach Version die CMDLets Compress-Archive und Expand-Archive, die helfen dir vielleicht schon weiter.
Ich habe deinen Code nicht getetet, aber es ist so, dass eine Funktion die aufgreufen wird davor bereits bekannt sein muss, in Main rufst Du die Funktion UnZipper auf, die aber zu dem Zeitpunkt noch nicht bekannt ist, deshalb muss die Funktion UNZIPPER von der Anordnung her oberhalb von Main liegen.
Beste Gruesse
brima- Bearbeitet brima Donnerstag, 16. Februar 2017 14:03
- Als Antwort markiert Joejoearmany Donnerstag, 16. Februar 2017 14:15
Alle Antworten
-
Hallo,
die PowerShell kennt je nach Version die CMDLets Compress-Archive und Expand-Archive, die helfen dir vielleicht schon weiter.
Ich habe deinen Code nicht getetet, aber es ist so, dass eine Funktion die aufgreufen wird davor bereits bekannt sein muss, in Main rufst Du die Funktion UnZipper auf, die aber zu dem Zeitpunkt noch nicht bekannt ist, deshalb muss die Funktion UNZIPPER von der Anordnung her oberhalb von Main liegen.
Beste Gruesse
brima- Bearbeitet brima Donnerstag, 16. Februar 2017 14:03
- Als Antwort markiert Joejoearmany Donnerstag, 16. Februar 2017 14:15