특정 파일 확장자를 가진 모든 파일을 삭제하는 Powershell


21

디렉토리를 스캔하고 (하위가 없음) 확장명을 가진 파일을 삭제하고 .avi 싶습니다.이 구문을 시도했지만 오류가 발생하지 않으며 파일이 삭제되지 않습니다. 이것은 내가 시도한 코드입니다

get-childitem 'C:\Users\ramrod\Desktop\Firefly' -include *.avi | foreach ($_) {remove-item $_.fullname}

.avi폴더에서 모든 파일 을 삭제하려면 무엇을 변경해야 합니까?


3
무엇을 사용하지 못하게 rm *.avi합니까? (예, rm의 별칭 이므로 유효한 PowerShell 구문 입니다 del.
GiantTree

2
기술적으로, rm그리고 del의 두 별칭 Remove-Itemcmdlet은.
root

답변:


15

del *.<extension>또는 별명 중 하나를 사용하십시오 (예 rm: bash에 더 익숙한 경우).

따라서 현재 작업 디렉토리로 del *.avi끝나는 모든 파일을 삭제 하는 것 .avi입니다.

del <directory>\*.<extension>다른 디렉토리에서 파일을 삭제하는 데 사용 합니다.


14
재귀 적으로 이것을하기 위해ls *.avi -Recurse | foreach {rm $_}
Kolob Canyon

11

디렉토리에서 Powershell 인스턴스를 여는 기본 방법을 가정하면 일반 버전은 다음과 같습니다.

Get-ChildItem *.avi | foreach { Remove-Item -Path $_.FullName }

디렉토리 특정 버전의 경우 :

Get-ChildItem -Path 'C:\Users\ramrod\Desktop\Firefly' *.avi | foreach { Remove-Item -Path $_.FullName }

에 추가 -RecurseGet-ChildItem모두 포함 된 폴더에 영향을 미칠 수 있습니다.

예:

Get-ChildItem *.avi -Recurse | foreach { Remove-Item -Path $_.FullName }

2

Remove-Item커맨드는 당신이 필요로하는 모든해야한다. avi 파일이 존재하는 루트 폴더를 전달하고 recurse필터와 함께 플래그를 전달하십시오 .

Remove-Item 'C:\Users\ramrod\Desktop\Firefly\*' -recurse -Include *.avi

이것은 각각을 통해 파일을 찾고 Get-ChildItem호출 하는 것보다 빠르게 실행되어야합니다 Remove-Item.

-WhatIf스위치를 추가하면 각 파일을 삭제하기 전에 메시지가 표시되므로 PowerShell에 익숙하지 않은 사람들에게 더 안전합니다.


1
왜이 답변에 투표권이 있는지 확실하지 않습니다. -WhatIf스위치가 불필요하다. 이 답변에 수정 사항을 제출했습니다. +1 Remove-Item커맨드 렛 만 있으면 현재 허용되는 답변보다 빠르게 실행됩니다.
Greg Burghardt

-whatif제거하려는 파일 만 제거하는지 확인하는 데 사용하는 것이 좋습니다 . 특히 알려지지 않은 기술 전문가에게 삭제 명령을 제공 할 때. 훈련 바퀴를 유지하는 것이 가장 좋습니다.
Keith Miller

0

현재 디렉토리에 여러 개의 텍스트 파일이 있다고 가정하십시오.
dir * -include *.txtdir *.txt작업로 예상하지만 dir -include *.txt아무것도 제공하지 않습니다. 그 이유는 스택 오버플로 에 잘 설명되어 있습니다.

수정 된 명령 :
dir 'C:\Users\ramrod\Desktop\Firefly\*.avi' | foreach {del $_}


0

이것은 마침내 나를 위해 해냈습니다-위와 나다를 모두 시도했습니다.

get-childitem "<drive>:\<folder>" -recurse -force -include *.<ext> | remove-item -force

확실히 두 힘이 필요하지 않지만 그것이 작동하는 것이므로 내가 고수하고 있습니다.


0

이 시도

Remove-Item "c:\temp\*.txt" 

1
이봐, 이것은 avi 파일을 제거하지 않는 것 같고, 문제의 폴더에서도 그것을하지 않는 것 같습니다. 이 답변을 개선하거나이 상황에서 어떻게 도움이 될 수 있는지 설명해 주시겠습니까?
Sirex
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.