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
위의 코드를 사용하여 열 중 하나에서 복사할 파일과 저장할 새 파일의 이름을 추출할 수 있습니다.
프로그램의 전체적인 흐름은 다음과 같습니다.
- 경로 및 파일 이름을 추출할 CSV 파일의 경로는
csv
라는 변수에 저장됩니다.$
기호는 주로 PowerShell에서 변수를 선언하고 액세스/설정하는 데 사용됩니다. Import-csv
명령은 CSV 파일에서 데이터를 추출합니다.- 해당 데이터가 추출된 후
|
를 사용하여 다음 명령으로 파이프라인됩니다. 운영자. %
연산자(foreach
루프의 별칭)는oldfilepath 반복
및newfilename
열에서 데이터를 추출하는 데 사용되며, 그런 다음 파일을 복사하기 위해Copy-Item
명령에 전달됩니다. 주어진 소스에서 대상으로(우리의 경우 CSV에 지정되지 않음).
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