gearloose 10 Posted February 9, 2011 Report Share Posted February 9, 2011 Hallo, ich bin gerade dabei ein Script zum Zippen von Verzeichnissen zu erstellen. Leider fehlt mir da ein Baustein. Das Script wechselt in einen Ordner und ruft alle Unterordner auf und macht mit 7-zip Archive daraus. Allerdings bekomme ich dann bei 7 Unterordner dann auch 7 Prozesse die gleichzeitig ablaufen. Bei 40 Unterordnern mit ordentlich Datei kann ich mir ein Spiegelei aufm Notebook backen, allerdings kann ich den ganzen Tag leider nicht nur fressen sondern muss auch arbeiten. Wie bekomme ich eine Abarbeitung im Einzlnen hin? CD *pfad* Get-ChildItem | foreach-object -Process {C:\Programme\7-Zip\7zG.exe a -tzip $_".zip" $_} Quote Link to comment
blub 115 Posted February 9, 2011 Report Share Posted February 9, 2011 Hallo, Es gibt ein Write-zip bei den Communityextensions unter http://pscx.codeplex.com/ google mal nach "write-zip pscx" . Vielleicht gehts damit besser, ich habe write-zip selbst noch nicht probiert, aber schon andere cmdlets aus dem Paket. Normal sind die gut. blub Quote Link to comment
Dukel 454 Posted February 9, 2011 Report Share Posted February 9, 2011 Wie wärs, wenn du die CLI version von 7Zip nutzt. Diese macht das per Default, da kein extra Prozess aufgeht. Quote Link to comment
gearloose 10 Posted February 9, 2011 Author Report Share Posted February 9, 2011 Spitze das geht prima! Vielen Dank! Da war wohl ein G zuviel im Script :) Quote Link to comment
Dukel 454 Posted February 9, 2011 Report Share Posted February 9, 2011 Dank für die Rückmeldung. Ich würde mir evtl. die Backgroundjobs von Powershell anschauen. Damit kann man das doch paralellisieren und somit bei Mehrkern Prozessoren die Leistung verbessern bzw. die Laufzeit des Scriptes verkleinern. Bei 40 Unterordnern und 4 Kernen würde ich 4 Packprozesse laufen lassen und du brauchst nur 10x so lange und nicht 40x so lange wie bei einem Ordner. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.