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!

Empfohlene Beiträge

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 zu diesem Kommentar

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 zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...