Powershell은 디렉토리에서만 파일을 삭제합니다 아닌)을 삭제하려고합니다. Remove-Item “D:\MyTemp” Remove-Item “D:\MyTemp\*” 그러나 확인하면

D : \ MyTemp 폴더의 모든 파일 (디렉토리가 아닌)을 삭제하려고합니다.

Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"

그러나 확인하면 모든 파일이 여전히 있습니다.
내가 무엇을 놓치고 있습니까?



답변

이 시도:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }

여기에서 찾았습니다 :
/superuser/150748/have-powershell-get-childitem-return-files-only

지정된 디렉토리에서만 모든 파일을 삭제하려면 (하위 디렉토리 무시) :

Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }

답변

수락 된 답변이 효과가 없었습니다. 대신 필요했습니다.

Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}

파일뿐만 아니라 폴더도 포함 시키려면 다음을 추가하십시오 -Recurse.

Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}

답변

당신은 거의 거기에 있었고 방금 필요했습니다.

Remove-Item "D:\MyTemp\*.*"

답변

@bourne은 거의 그것을 가지고 있었다 :

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item