Jump to content

Powershell - foreach-object mit Warten auf Prozessende


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

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" $_}

Link to comment

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.

Link to comment
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...