Praktisch: Dateien kopieren mit Fortschrittsanzeige

Das „Problem“ beim Kopieren von mehreren Dateien ist, dass die Anzahl der zu kopierenden Dateien am Anfang in der Regel nicht bekannt ist. Möchte man Dateien mit Hilfe einer Function pipelinebasierend kopieren, gibt es in der Regel keine Möglichkeit an die Anzahl der Dateien, die der Function übergeben werden, heranzukommen. Der „Trick“ mit $Input.Count funktioniert ab der Version 3.0 nicht in einer Pipeline-Function.

Eine einfache Lösung besteht darin, die zu kopierenden Dateien im Process-Block zu sammeln und die Dateien erst im End-Block zu kopieren. In dieser Aufteilung werden die Dateien im Process-Block lediglich gezählt, um dann im End-Block im Rahmen einer ForEach-Wiederholung kopiert zu werden.

Das folgende Beispiel veranschaulicht das Prinzip.

Aufgerufen werden kann die Function wie folgt:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

This site uses Akismet to reduce spam. Learn how your comment data is processed.