Copiar arquivo e renomear PowerShell

O objetivo principal deste artigo é demonstrar a operação de I/O mais básica, copiar um arquivo e depois colá-lo em outro diretório ou local com um nome diferente.
PowerShell Copiar Arquivo e Renomear
Ao lidar com arquivos CSV, pode ser necessário copiar um arquivo CSV específico e colá-lo em outro lugar com seu nome de arquivo extraído do CSV.
Considere o seguinte CSV:
iid firstname lastname profession oldfilepath newfilename
-- --------- -------- ---------- ----------- -----------
100 Annecorinne Fitzsimmons doctor D:\\old.csv new2.csv
101 Mallory Dunkin firefighter D:\\old.csv new3.csv
102 Carlie Torray firefighter D:\\old.csv new4.csv
103 Marleah Boycey worker D:\\old.csv new5.csv
104 Lusa Corabella worker D:\\old.csv new6.csv
105 Shandie Chesna worker D:\\old.csv new7.csv
106 Melisent Ochs doctor D:\\old.csv new8.csv
107 Cathie Hurley firefighter D:\\old.csv new9.csv
108 Kerrin Regan doctor D:\\old.csv new10.csv
109 Alie Lewes police officer D:\\old.csv new11.csv
110 Jsandye Gemini police officer D:\\old.csv new12.csv
111 Marguerite Myrilla police officer D:\\old.csv new13.csv
112 Florie Dichy developer D:\\old.csv new14.csv
113 Krystle Gaulin doctor D:\\old.csv new15.csv
114 Odessa Nerita developer D:\\old.csv new16.csv
Agora precisamos copiar este CSV e colá-lo em outro diretório com um nome personalizado, que vem de uma coluna do arquivo CSV. Neste caso, a coluna é chamada newfilename
.
Considere o seguinte código:
$csv = "D:\\old.csv"
Import-Csv $csv | % { Write-Host "Copying $($_.oldfilepath) to D:\TEST\$($_.newfilename)..." | Copy-Item $_.oldfilepath -Destination "D:\TEST\$($_.newfilename)" }
Após isso, podemos verificar se o arquivo foi copiado usando o seguinte:
> .\script.ps1
> ls D://TEST
Directory: D:\TEST
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 11/1/2022 10:27 PM 861 new10.csv
-a--- 11/1/2022 10:27 PM 861 new11.csv
-a--- 11/1/2022 10:27 PM 861 new12.csv
-a--- 11/1/2022 10:27 PM 861 new13.csv
-a--- 11/1/2022 10:27 PM 861 new14.csv
-a--- 11/1/2022 10:27 PM 861 new15.csv
-a--- 11/1/2022 10:27 PM 861 new16.csv
-a--- 11/1/2022 10:27 PM 861 new2.csv
-a--- 11/1/2022 10:27 PM 861 new3.csv
-a--- 11/1/2022 10:27 PM 861 new4.csv
-a--- 11/1/2022 10:27 PM 861 new5.csv
-a--- 11/1/2022 10:27 PM 861 new6.csv
-a--- 11/1/2022 10:27 PM 861 new7.csv
-a--- 11/1/2022 10:27 PM 861 new8.csv
-a--- 11/1/2022 10:27 PM 861 new9.csv
Usando o código acima, podemos extrair o arquivo que deve ser copiado de uma das colunas e o nome do novo arquivo a ser salvo.
O fluxo geral do programa é o seguinte:
- O caminho do arquivo CSV de onde extrair o caminho e o nome do arquivo é armazenado em uma variável chamada
csv
. O símbolo$
é usado principalmente para declarar e acessar/configurar variáveis no PowerShell. - O comando
Import-csv
extrai os dados do arquivo CSV. - Após os dados relevantes terem sido extraídos, eles são encaminhados para o seguinte comando usando o operador
|
. - O operador
%
(um alias para o loopforeach
) é usado para extrair dados das colunasoldfilepath iterativamente
enewfilename
, que são então passados para o comandoCopy-Item
para copiar o arquivo da fonte dada para o destino (não especificado no CSV no nosso caso).
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedInArtigo relacionado - PowerShell File
- Como Armazenar o Conteúdo de um Arquivo de Texto em Variável Usando PowerShell
- Como criar um arquivo de texto usando o Windows PowerShell
- Como Desbloquear Arquivos Usando PowerShell
- Como encontrar arquivos com extensão no PowerShell
- Como extrair o nome do arquivo de um caminho usando PowerShell
- Como Fazer o Upload de Arquivos com FTP no PowerShell