가장 큰 장점은 문자열 또는 파일 스펙 대신 파이프를 통해 Copy-Item
에 객체를 보낼 수 있다는 것입니다. 그래서 당신은 할 수 : 가난한 예 종류의
Get-ChildItem '\\fileserver\photos\*.jpeg' -File | `
Where-Object { ($_.LastAccessTime -ge (Get-Date).AddDays(-1)) -and ($_.Length -le 500000) } | `
Copy-Item -Destination '\\webserver\photos\'
을 (당신은 Copy-Item -Filter
로 할 수있다)하지만, 온 - 더 - 플라이로 올 수있는 쉬운 하나입니다. Get-ChildItem
의 파이프 라인으로 끝내기 위해 파일 작업을 할 때 꽤 흔한 일이며, 개인적으로는 Remove-Item
의 -Recurse -Include
버그로 개인적으로 많이하는 경향이 있습니다.
또한 PowerShell의 오류 트래핑, -Passthru
, -WhatIf
, -UseTransaction
및 모든 일반 매개 변수와 같은 특수 매개 변수도 얻을 수 있습니다. Copy-Item -Recurse
은 xcopy의 트리 복사 기능 중 일부를 복제 할 수 있지만 예쁜 베어 본입니다.
지금, 당신은 ACL을 소유, 감사, 등, 다음 xcopy
또는 robocopy
아마. 그 기능이 내장되어 있기 때문에 훨씬 쉬울거야 Copy-Item
핸들이 암호화 된 파일을 복사하는 방법을 잘 모르겠어요을 유지해야하는 경우 암호화되지 않은 위치 (xcopy는이를 수행 할 수있는 능력이 있습니다)로 가서 Copy-Item
이 아카이브 속성을 직접 관리하는 것을 지원하지 않는다고 생각합니다.
속도가 빠르면 xcopy와 robocopy가 승리 할 것으로 예상됩니다. 관리 코드는 일반적으로 오버 헤드가 높습니다. Xcopy 및 robocopy는 네트워크에서 얼마나 잘 작동하는지 훨씬 더 많이 제어 할 수 있습니다.
당신이하고 싶은 일에 전적으로 달려 있습니다. 귀하의 목록에서 Robocopy를 놓쳤습니다. –
이것은 너무 광범위합니다. 우리는 당신이 무엇을 움직이고 있는지 얼마나 모릅니다. 많은 차이점이 있으며 일괄 작업의 경우 기본 복사 항목보다 항상 xcopy/robocopy를 사용하려고합니다. – Matt
제목이 모호한 반면 게시글은 자신의 기존 배치 파일에있는'xcopy '을 PS 네이티브'Copy-Item' cmdlet으로 변환해야하는지 아니면 그냥 그대로 두어야하는지 분명하게 묻고 있습니다. 우리는 더 많은 정보를 필요로하지만, 나는 의견이나 과소 평가가 지나치게 엄격하다고 생각한다. –
TheMadTechnician