Powershell Copy-Item은 재귀 적으로 나타나지만 폴더 이름은 포함하지 않습니다


20

이것은 바보 같은 질문이지만 왜 작동하지 않는지 모르겠습니다.

FolderA에서 FolderB로 파일을 반복적으로 복사하려고합니다. 나는 이것을하고있다 :

Copy-Item -Path "C:\FolderA\" -Destination "C:\FolderB\" -recurse -Force -Verbose

문제없이 작동합니다.

FolderB의 결과를 제외하고는 다음과 같습니다.

C:\FolderB\FolderA\file.txt

내가 원하는 반면 :

C:\FolderB\file.txt

내가 멍청한 명백한 것은 무엇입니까?


4
당신은 바보 같은 일을하지 않습니다, 복사 항목은 단지 PITA입니다.
StingyJack

답변:


28

귀하의 명령은 PowerShell에 모든 내용과 함께 폴더 자체를 대상 폴더로 복사하도록 지시합니다. 원래 폴더의 내용 만 복사하려면 다음과 같이 경로를 변경하십시오.

Copy-Item -Path "C:\FolderA\*" -Destination "C:\FolderB\" -recurse -Force -Verbose

폴더 이름 뒤에 별표 (*)가 표시됩니다. 폴더의 내용 (하위 폴더 포함)은 대상 폴더로 복사되지 않습니다.

복사 항목 cmdlet 사용


2
이 점에 유의 하지 않는 대상 폴더가 존재하지 않는 경우 폴더 구조를 복사합니다. md "C:\FolderB"전에 전화 Copy-Item하면이 문제를 피할 수 있습니다.
zett42

위의 @ zett42의 의견을 바탕으로 대상 폴더가 존재하지 않으면 Copy-Item폴더 구조가 재현되지만 한 수준 아래로 (예 : 대신에 C:\FolderA\B\C복사 됨 ) 재현되며 여러 하위 폴더가 존재할 때 실패 할 수도 있습니다. Copy-Item을 호출하기 전에 항상 대상 폴더가 있는지 확인하십시오. 이것은 버그처럼 냄새가납니다 (이 일관성없는 행동이 바람직한 이유를 알 수 없습니다). C:\FolderB\CC:\FolderB\B\C
마크 Durdin

1
SO에 대한 의견 도 참조하십시오 .
마크 더딘

0

재귀 적으로 파일 복사에만 -File -Recurse 를 사용할 수 있습니다 .

복사 항목-경로 "C : \ Source"-대상 "C : \ Dest"-파일 -recurse -Force -Verbose

또는 -Directory -Recurse 를 사용 하여 empy 폴더 구조 만 복사하십시오.

복사 항목-경로 "C : \ Source"-대상 "C : \ Dest"-디렉토리 -recurse -Force -Verbose

감사합니다.

폴 페드로 자


-1
Copy-Item -Path "C:\FolderA" -Destination "C:\FolderB" -recurse -Force -Verbose

작동합니다.


1
이것은 FastEthernet의 비슷한 답변에 대한 의견으로 보입니다. 대체 답변을 제안하려면 질문에 답변하는 이유를 설명해야합니다.
Blackwood

C : \ FolderB가 없으면 C : \ FolderB를 작성하지만 C : \ FolderB가 있으면 C : \ FolderB \ FolderA를 작성합니다. 해당 명령을 두 번 실행하면 약간 다른 위치에서 모든 사본을 두 개 얻을 수 있습니다! 너무 많은 고통.
Lamarth 2014
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.