source

항목을 제거할 수 없습니다.디렉터리가 비어 있지 않습니다.

factcode 2023. 8. 2. 09:27
반응형

항목을 제거할 수 없습니다.디렉터리가 비어 있지 않습니다.

하위 폴더/파일이 있는 폴더를 삭제하려고 합니다.

Remove-Item -Force -Recurse -Path $directoryPath

오류가 발생했습니다.Cannot remove item. The directory is not empty.

PowershellScript.ps1executionPolicy가 제한되지 않습니다.현재 로그인한 사용자와 함께 삭제하려는 루트 폴더에 이 폴더에 대한 전체 권한이 있습니다.

내 로컬 PC에서는 코드가 작동하지만 내 PC에서는 작동하지 않습니다.Windows Server 2012 R2.

다음을 시도할 수 있습니다.

Remove-Item -Force -Recurse -Path "$directoryPath\*"

사용 시 참고 사항-Recurse와의 매개 변수.-IncludeRemove-Item믿을 수 없을 수도 있습니다.따라서 먼저 파일을 복구하는 것이 가장 좋습니다.Get-ChildItem그리고 나서 파이프를 연결합니다.Remove-Item큰 폴더 구조를 삭제하는 경우에도 도움이 될 수 있습니다.

Get-ChildItem $directoryPath -Recurse | Remove-Item -Force   

파일이 다른 프로그램에서 열려 있습니다.

프로젝트가 열려 있는 상태에서 Visual Studio가 열려 있다는 것을 잊고 이 오류가 발생했습니다.

해당 디렉터리와 연결된 모든 파일을 닫고 관리자로 PowerShell을 실행한 다음 다음 명령을 실행합니다.

Remove-Item "C:\path\to\dir" -Recurse -Force

프로 팁

이 명령을 실행하여 파일 탐색기를 열 수도 있습니다.

ii "C:\path\to\dir"

마우스 오른쪽 단추를 클릭하여 삭제하려고 하면 명령줄보다 더 자세한 오류가 표시될 수 있습니다.

참고:

Remove-Item -Force -Recurse -Path "C:\MyFolder"

이 오류가 발생하지만,

Remove-Item -Force -Recurse -Path "C:\MyFolder\*"

그렇지 않습니다.

그러니 마법의 소스를 잊지 마세요.

이렇게 하면 매번 파일과 디렉토리를 내림차순으로 정렬하여 디렉토리 구조의 가장 깊은 구성원을 먼저 삭제할 수 있습니다.

Get-ChildItem $output_path -File -Recurse | Sort-Object FullName -Descending | Remove-Item -Force -Confirm:$false;
Get-ChildItem $output_path -Directory -Recurse | Sort-Object FullName -Descending | Remove-Item -Force -Confirm:$false;
Remove-Item $output_path -Force;

이것은 제가 폴더를 포함하여 1년 전보다 오래된 파일과 폴더를 재귀적으로 삭제하는 데 효과가 있었습니다.

Get-ChildItem - 디렉터리 - 경로 X:\AutomateCache | where-Object {$}.마지막 쓰기 시간 -ile(날짜 가져오기)입니다.월 추가(-12) } | 제거 - 항목 - 강제 - 반복 - 세부 사항

언급URL : https://stackoverflow.com/questions/38141528/cannot-remove-item-the-directory-is-not-empty

반응형