파일을 복사하고 이름을 바꿀 수 있는 단일 PowerShell 명령이 있습니까?
다음 명령을 사용하여 CSV 파일을 기반으로 네트워크 공유에서 로컬 하드 드라이브로 파일을 복사합니다.
import-csv C:\TEST\test.csv | foreach {copy-item -path $_.npath -destination 'C:\TEST\'}
다음 단계에서는 다른 CSV 파일을 사용하여 현재 파일 이름을 기준으로 파일 이름을 변경합니다.
복사 및 항목과 이름을 변경할 수 있는 명령어가 있습니까?
두 개의 열(이전 파일 경로 및 새 파일 이름)이 포함된 CSV가 있는 경우 다음을 사용할 수 있습니다.
Import-Csv C:\test.csv | % { Copy-Item -Path $_.oldfilepath -Destination "C:\TEST\$($_.newfilename)" }
사용 방법에 주목하십시오.$_.newfilename
내부에 캡슐화되어 있습니다.$()
그것은$_.newfilename
변수에서 속성을 가져오므로 변수가 아닌 식입니다.$()
에서는 PowerShell에서 식을 문자열에 사용하기 전에 이 식을 해결하도록 지시합니다.만약 우리가 그것을 사용하지 않는다면, 그것은 그 행에 대한 전체 csv-object를 사용했을 것입니다.$_
)를 문자열로 지정하고 오류를 반환했습니다.
원래 CSV에도 새 이름이 있으면 이 이름을 사용하여 복사 경로 끝에 파일 이름을 지정할 수 있습니다.복사 항목 CMDlet을 사용하여 대상 파일 이름을 지정할 수 있습니다.
Copy-Item C:\TEST\file1.jpg C:\TEST\file2.jpg
file1.jpg를 복사하고 file2.jpg로 이름을 변경합니다.
변수를 경로 문자열 끝에 연결하려면 다음과 같은 큰따옴표를 사용합니다.
Copy-Item C:\Path\To\File\file.ext "C:\Path\To\New\File\$newfilename"
-path 및 -destination은 위치에 의해 암시되므로 실제로 필요하지 않습니다.
$file을 사용하여 소스를 복사하는 것이 좋습니다.전체 이름을 지정하고 $file에 대해 기억합니다.폴더가 아닌 경우 -Destination 매개 변수에 포함된 확장입니다.
$file = Get-ChildItem -Path . -Name "name"
Copy-Item -Path $file.FullName -Destination "$($new_name)$($file.Extention)"
언급URL : https://stackoverflow.com/questions/14432033/is-there-a-single-powershell-command-to-copy-and-rename-files
'programing' 카테고리의 다른 글
대화 상자에서 편집 텍스트 상자를 만드는 방법 (0) | 2023.08.06 |
---|---|
복사 스레드가 lsn(Mariabackup 무한, 루프, innodb)을 읽기를 기다리는 중입니다. (0) | 2023.08.06 |
JavaScript에서 target="_blank"를 시뮬레이션하는 방법 (0) | 2023.08.06 |
mysql 전체 텍스트 검색 오른쪽 색인 (0) | 2023.08.06 |
iOS 7 UIRefreshControl tintColor가 beginRefresh에 대해 작동하지 않음 (0) | 2023.08.06 |