Copia-Elemento di PowerShell Progresso

Copia-Elemento di PowerShell Progresso

La copia di file è un’attività regolare che implica il trasferimento di uno o più file dalla fonte alla destinazione. La fonte e la destinazione possono essere lo stesso host o due host diversi.

Il Copy-Item è uno dei cmdlet di base che ogni utente di PowerShell utilizza per copiare file da un luogo all’altro. L’unico svantaggio di Copy-Item è che non mostra il progresso dell’operazione come una barra di avanzamento o una percentuale.

Il cmdlet Start-BitsTransfer diventa utile quando hai un gran numero di file con cui lavorare, e la cosa buona è che mostra una barra di avanzamento che indica il progresso dell’operazione di copia.

Questo articolo si concentrerà sul cmdlet Start-BitsTransfer per copiare file dalla sorgente alla destinazione.

Usa Start-BitsTransfer per Copiare File in PowerShell

Il cmdlet Start-BitsTransfer inizializza un lavoro BITS per copiare uno o più file dalla fonte alla destinazione senza problemi. Di solito, PowerShell diventa non interattivo quando il cmdlet ha inizializzato il lavoro BITS.

Inoltre, il cmdlet accetta diversi argomenti opzionali per migliorare la funzionalità di copia. La seguente è la sintassi generica per il 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>]

L’argomento TransferType è utilizzato per specificare la direzione dell’operazione di copia. Può essere un download o un upload.

Creiamo una cartella chiamata codes nell’unità D con quasi 300 file di testo. Inoltre, creeremo un’altra cartella vuota chiamata copiedfiles.

Successivamente, il comando Start-BitsTransfer viene utilizzato per copiare file dalla cartella sorgente codes alla cartella di destinazione copiedfiles. Una cosa da ricordare è di importare il modulo BitsTransfer in anticipo.

Import-Module BitsTransfer
Start-BitsTransfer -Source "D:\codes\*.txt" -Destination "D:\copiedfiles\" -TransferType Download

Output:

Start-BitsTransfer

Come puoi vedere nella figura sopra, la barra di avanzamento appare quando inizia l’operazione di copia. Questo è un indicatore molto utile per gli utenti finali per avere un’idea del progresso dell’operazione.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.