PowerShell 파일 복사 및 이름 바꾸기

Salman Mehmood 2023년6월20일
PowerShell 파일 복사 및 이름 바꾸기

이 문서의 주요 목표는 파일을 복사한 다음 다른 이름을 가진 다른 디렉터리나 위치에 붙여넣는 가장 기본적인 IO 작업을 시연하는 것입니다.

PowerShell 파일 복사 및 이름 바꾸기

CSV 파일을 다룰 때 특정 CSV 파일을 복사하여 CSV에서 추출한 파일 이름으로 다른 곳에 붙여넣어야 하는 경우가 있습니다.

다음 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

이제 이 CSV를 복사하여 CSV 파일의 열에서 가져온 사용자 지정 이름으로 다른 디렉터리에 붙여넣어야 합니다. 이 경우 열 이름은 newfilename입니다.

다음 코드를 고려하십시오.

$csv = "D:\\old.csv"

Import-Csv $csv | % { write-host "Copying $($_.oldfilepath) to D:\TEST\$($_.newfilename)..." | Copy-Item $_.oldfilepath -Destination "D:\TEST\$($_.newfilename)" }

그런 다음 다음을 사용하여 파일이 복사되었는지 확인할 수 있습니다.

> .\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

위의 코드를 사용하여 열 중 하나에서 복사할 파일과 저장할 새 파일의 이름을 추출할 수 있습니다.

프로그램의 전체적인 흐름은 다음과 같습니다.

  1. 경로 및 파일 이름을 추출할 CSV 파일의 경로는 csv라는 변수에 저장됩니다. $ 기호는 주로 PowerShell에서 변수를 선언하고 액세스/설정하는 데 사용됩니다.
  2. Import-csv 명령은 CSV 파일에서 데이터를 추출합니다.
  3. 해당 데이터가 추출된 후 |를 사용하여 다음 명령으로 파이프라인됩니다. 운영자.
  4. % 연산자(foreach 루프의 별칭)는 oldfilepath 반복newfilename 열에서 데이터를 추출하는 데 사용되며, 그런 다음 파일을 복사하기 위해 Copy-Item 명령에 전달됩니다. 주어진 소스에서 대상으로(우리의 경우 CSV에 지정되지 않음).
Salman Mehmood avatar Salman Mehmood avatar

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.

LinkedIn

관련 문장 - PowerShell File