Progresso da Cópia de Arquivos com PowerShell

Fala Galera!

Esta é uma dica rápida de PowerShell.

O Caso: em uma migração, um colega precisou mover dois arquivos de 2tb cada para unidades de disco diferentes.

Porém, esta cópia ficou lenta e eu fui questionado como saber o andamento e se havia travado.

O colega utilizou o cmdlet copy-item e apesar de eu já ter visto em diversos sites este assunto com copy-item e progressbar, a solução que recomendo é bem mais simples.

A Solução: Quem seguiu minha série de posts sobre PowerShell para DBAs SQL Server no Youtube, deve ter visto que em um dos vídeos, falo como fazer download de arquivos de um site web e para isso utilizo o BitsTransfer.

Compreendendo o BitsTransfer: ele foi introduzido no Windows XP em 2001 e atualmente está na versão 10.x, entrou para o os OS Server na versão 3.0 no Windows Server 2008.

O Microsoft Windows Backgroud Intelligent Transfer Service, daí vem o BITS, é um componente do Windows que executa transferências assíncronas em background, onde ele prioriza as requisições de transferências de arquivos de aplicações. Se houver alguma interrupção do processo, o BITS automaticamente reconecta e continua a transferência.

O BITS é utilizado por produtos como Windows/Microsoft Update, WSUS, Microsoft Security Essentials e alguns outros produtos de mensagem instantânea.

Para conhecer mais veja o link:
https://docs.microsoft.com/en-us/powershell/module/bitstransfer/?view=win10-ps

Como utilizar para copiar os arquivos?

Veja o código abaixo, onde tenho a variável $origem e $destino.

Import-Module BitsTransfer -Force
$origem = 'd:\sql19'
$destino = 'c:\sql19'
Start-BitsTransfer -Source $origem `
                   -Destination $destino `
                   -Description "Cópia do Iso" `
                   -DisplayName "SQL Server 2019"

Veja na imagem abaixo como será “desenhado” o acompanhamento em tela.

Espero que esta dica seja útil para você!
Abraço, Rodrigo

Anúncios

Author: SQLCrespi

Rodrigo Crespi é MVP Data Platform, MCT, MCSE, MCSA, MCIT, MCDBA e MCP em SQL Server, possuí outras certificações em .NET Framework, Dynamics CRM e etc. Iniciou trabalhando com SQL Server na versão 6.5 na época como desenvolvedor, logo direcionou a sua carreira para a área de administração de bancos de dados. Atualmente é Sócio da CrespiDB – Soluções em Plataformas de Dados, além de professor universitário na Uniftec – Caxias do Sul Autor de diversos artigos publicados em sites e revistas sobre SQL Server e engenharia de software, mantem o canal SQLCrespi no Youtube, o blog SQLCrespi, além de ser dedicado ao SQL Server RS PASS Chapter Leader do grupo de profissionais em SQL Server do Rio Grande do Sul.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.