PowerShell-Copy-Item-Fortschritt
Das Kopieren von Dateien ist eine regelmäßige Aktivität, bei der eine oder mehrere Dateien von der Quelle zum Ziel übertragen werden. Quelle und Ziel können derselbe Host oder zwei verschiedene Hosts sein.
Das Copy-Item
ist eines der grundlegenden Cmdlets, das jeder PowerShell-Benutzer verwendet, um Dateien von einem Ort zum anderen zu kopieren. Der einzige Nachteil von Copy-Item
ist, dass es den Fortschritt der Operation nicht als Fortschrittsbalken oder Prozentsatz anzeigt.
Das Cmdlet Start-BitsTransfer
ist praktisch, wenn Sie mit einer großen Anzahl von Dateien arbeiten müssen, und das Gute daran ist, dass es einen Fortschrittsbalken anzeigt, der den Fortschritt des Kopiervorgangs anzeigt.
Dieser Artikel konzentriert sich auf das Cmdlet Start-BitsTransfer
zum Kopieren von Dateien von der Quelle zum Ziel.
Verwenden Sie Start-BitsTransfer
, um Dateien in PowerShell zu kopieren
Das Cmdlet Start-BitsTransfer
initialisiert einen BITS-Job, um problemlos eine oder mehrere Dateien von der Quelle zum Ziel zu kopieren. Normalerweise wird die PowerShell nicht interaktiv, wenn das Cmdlet den BITS-Auftrag initialisiert hat.
Darüber hinaus akzeptiert das Cmdlet mehrere optionale Argumente, um die Kopierfunktion zu verbessern. Das Folgende ist die generische Syntax für das Cmdlet Start-BitsTransfer
.
Start-BitsTransfer
[-Asynchronous]
[-Dynamic]
[-CustomHeadersWriteOnly]
[-Authentication <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-HttpMethod <String>]
[[-Destination] <String[]>]
[-DisplayName <String>]
[-Priority <String>]
[-TransferPolicy <CostStates>]
[-ACLFlags <ACLFlagValue>]
[-SecurityFlags <SecurityFlagValue>]
[-UseStoredCredential <AuthenticationTargetValue>]
[-ProxyAuthentication <String>]
[-ProxyBypass <String[]>]
[-ProxyCredential <PSCredential>]
[-ProxyList <Uri[]>]
[-ProxyUsage <String>]
[-RetryInterval <Int32>]
[-RetryTimeout <Int32>]
[-MaxDownloadTime <Int32>]
[-Source] <String[]>
[-Suspended]
[-TransferType <String>]
[-CustomHeaders <String[]>]
[-NotifyFlags <NotifyFlagValue>]
[-NotifyCmdLine <String[]>]
[-CertStoreLocation <CertStoreLocationValue>]
[-CertStoreName <String>]
[-CertHash <Byte[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Mit dem Argument TransferType
wird die Richtung des Kopiervorgangs angegeben. Es kann ein Download oder ein Upload sein.
Lassen Sie uns einen Ordner namens codes
im Laufwerk D
mit fast 300 Textdateien erstellen. Außerdem erstellen wir einen weiteren leeren Ordner mit dem Namen copyfiles
.
Als nächstes werden mit dem Befehl Start-BitsTransfer
Dateien aus dem Quellordner codes
in den Zielordner copiedfiles
kopiert. Denken Sie daran, das Modul BitsTransfer
vorab zu importieren.
Import-Module BitsTransfer
Start-BitsTransfer -Source "D:\codes\*.txt" -Destination "D:\copiedfiles\" -TransferType Download
Ausgang:
Wie Sie in der obigen Abbildung sehen können, erscheint der Fortschrittsbalken, wenn der Kopiervorgang beginnt. Dies ist ein sehr nützlicher Indikator für die Endbenutzer, um sich ein Bild über den Fortschritt des Vorgangs zu machen.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.