Powershell은 디렉토리에서만 파일을 삭제합니다


14

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

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

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

답변:


18

이 시도:

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

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

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

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

1
이것은 현재 디렉토리에있는 파일 만 나열합니다
SteB

내 나쁜, 당신이 재귀를하고 싶은지 확신하지 못했습니다. 원본을 편집하겠습니다. Get-ChildItem 명령에 –recurse를 추가하면됩니다
bourne

하위 디렉토리를 무시하고 지정된 디렉토리에서만 파일을 삭제합니다. Remove-Item "D : \ MyTemp \ *. *"| 어디 { ! $ _. PSIsContainer}
12

훌륭합니다. 당신이 그것을 가지고있어서 다행입니다.
bourne

미안 btw SteB, 방금 Remove-Item을 포함하는 것을 잊었습니다. 긴 하루가 될거야!
bourne

12

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

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

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

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

1
이것은 하위 디렉토리에서도 파일을 삭제합니다. 아마도 OP가 의도 한 것과는
Robbie Dee

1
이 답변은 받아 들여 져야합니다. 나는 당신을 선택합니다!
Teoman shipahi

4

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

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

0

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

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

3
이것은 질문에 대한 답변을 제공하지 않습니다. 평판 이 충분 하면 모든 게시물댓글 수 있습니다 . 대신 asker의 설명이 필요없는 답변을 제공하십시오 . - 리뷰에서
rnxrx

답을 제공하지 않는다는 것은 무엇을 의미합니까? 무엇을합니까? 페이지에서 유일한 완전한 답변입니다.
Mordechai

자 급식이 아닙니다. 귀하의 답변에 따르면 다른 답변에 대한 수정 사항이며 의견으로 포함되어야합니다.
rnxrx

죄송합니다. powershell을 이해하지 못하는 것 같습니다. 다른 답변을 언급한다고해서 "자급 자족"하는 것은 아닙니다.
Mordechai

다른 답변으로 문제를 설명하고 명령으로 만들 수 있습니다. 그렇지 않으면 Powershell 명령의 기능을 설명하고 싶을 수도 있습니다
Dennis Nolte
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.