PowerShell com Robocopy e Passagem de Argumentos

No vasto cenário do Windows PowerShell, dominar o comando robocopy
revela uma riqueza de capacidades para gestão eficiente de arquivos. Como uma ferramenta indispensável no arsenal de profissionais de TI, desenvolvedores e administradores de sistemas, o Robocopy oferece versatilidade e eficiência inigualáveis na cópia de arquivos e diretórios.
Seu robusto conjunto de recursos, aliado à flexibilidade da scriptagem PowerShell, capacita os usuários a executar operações de transferência de arquivos complexas com precisão e facilidade. Este tutorial irá ensinar você a usar robocopy
no PowerShell.
Use o Comando robocopy
para Copiar Arquivos no PowerShell
Robocopy, abreviação de “Robust File Copy”, é uma utilidade de linha de comando nativa dos sistemas operacionais Windows, renomada por sua eficiência e versatilidade na cópia de arquivos e diretórios. Desenvolvido pela Microsoft, o Robocopy oferece uma ampla gama de recursos que superam as capacidades dos métodos tradicionais de cópia de arquivos, tornando-o uma escolha preferida para administradores de sistemas, profissionais de TI e usuários avançados.
A sintaxe geral do comando robocopy
é:
robocopy <Source> <Destination> [<File(s)>] [<Options>]
<Source>
: Especifica o caminho para o diretório de origem.<Destination>
: Especifica o caminho para o diretório de destino.[<File(s)>]
(opcional): Especifica um ou mais arquivos a serem copiados.[<Options>]
(opcional): Especifica várias opções e parâmetros para a operação de cópia.
A seguir, um exemplo simples de comando robocopy
.
robocopy "C:\SourceFolder" "D:\DestinationFolder" example.txt /njh /njs
Neste código, usamos o comando robocopy
seguido pelos caminhos de origem e destino. Também especificamos o arquivo a ser copiado e duas opções, /njh
e /njs
, que suprimem a exibição do cabeçalho do trabalho e das informações de resumo do trabalho na saída, respectivamente.
Saída:
Para mais informações sobre as opções do robocopy
, leia este artigo.
Vamos dar uma olhada em outro exemplo de comando robocopy
. As variáveis a seguir armazenam o valor para os argumentos do robocopy
.
$source = "C:\SourceFolder"
$destination = "C:\DestinationFolder"
$robocopyOptions = "/njh"
$file = "example.txt"
robocopy $source $destination $file $robocopyOptions
No trecho de código fornecido, utilizamos variáveis para armazenar os caminhos de origem e destino, bem como as opções desejadas do Robocopy e o arquivo a ser copiado. Ao passar essas variáveis para o comando robocopy
, iniciamos o processo de cópia, permitindo a transferência eficiente do arquivo especificado do diretório de origem para o diretório de destino.
Saída:
O comando acima não funcionará quando você armazenar várias opções na variável $robocopyOptions
.
$robocopyOptions = "/njh /njs"
Você precisa dividir as strings no comando assim.
$source = "C:\SourceFolder"
$destination = "C:\DestinationFolder"
$robocopyOptions = "/njh /njs"
$file = "example.txt"
robocopy $source $destination $file $robocopyOptions.split(' ')
No trecho de código fornecido, utilizamos variáveis para armazenar os caminhos de origem e destino, juntamente com as opções desejadas do Robocopy. Ao dividir a string $robocopyOptions
em um array usando o método .split(' ')
, garantimos que cada opção seja tratada como um elemento separado.
Esse array é então passado como argumentos para o comando robocopy
, possibilitando a execução da operação de cópia com os parâmetros especificados.
Saída:
Conclusão
Mergulhar nas intricacias do comando robocopy
dentro do PowerShell desbloqueia um mundo de possibilidades para otimizar fluxos de trabalho de gestão de arquivos. Ao compreender sua sintaxe, explorar diversos parâmetros e aproveitar o poder das variáveis, os usuários podem agilizar operações de transferência de arquivos para atender às demandas de cenários diversos.
Seja replicando arquivos entre compartilhamentos de rede, sincronizando diretórios entre servidores, ou fazendo backup de dados críticos, o Robocopy se mostra um aliado firme, facilitando uma gestão de arquivos eficiente e contínua dentro do ambiente Windows. Ao embarcar em sua jornada com o PowerShell Robocopy, abrace suas capacidades para elevar suas práticas de gestão de arquivos a novos níveis de eficiência e produtividade.