特定のファイル拡張子を持つすべてのファイルを削除するPowershell


21

ディレクトリをスキャンし(サブはありません)、.avi この構文を試してみた拡張子のファイルを削除したいのですが、エラーがスローされず、ファイルが削除されません。これは私が試したコードです

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

.aviフォルダからすべてのファイルを削除するには何を変更する必要がありますか?


3
何があなたを使うのを妨げていますrm *.aviか?(のではい、有効なPowerShellの構文だrmの別名であるdel
GiantTree

2
技術的には、rmdelの両方の別名であるRemove-Itemコマンドレットを使用します。
ルート

回答:


15

del *.<extension>またはそのエイリアスの1つを使用します(rmbashに慣れている場合など)。

したがって、現在の作業ディレクトリでdel *.avi終わるすべてのファイルを削除することになります.avi

del <directory>\*.<extension>他のディレクトリにあるファイルを削除するために使用します。


14
これを再帰的に行うにはls *.avi -Recurse | foreach {rm $_}
Kolob Canyon 2017

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削除するファイルのみを削除することを確認するために使用することをお勧めします。そして特に、技術的な専門知識が未知の人に削除コマンドを提供する場合。トレーニングホイールをオンにしておくのが最善です。
キースミラー

0

現在のディレクトリにいくつかのテキストファイルがあるとします。
dir * -include *.txtdir *.txt期待どおりに動作しますがdir -include *.txt、何も与えません。その理由はStack Overflowでよく説明されています。

修正されたコマンド:
dir 'C:\Users\ramrod\Desktop\Firefly\*.avi' | foreach {del $_}


0

これは最終的に私のためにそれをしました-上記すべてと灘を試してみました。

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

確かに2つの力は必要ありませんが、それが機能しているので、私はこだわり続けています。


0

これを試して

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

1
こんにちは、これはaviファイルを削除するようには見えません。また、問題のフォルダーからも削除するようには見えません。この答えを改善するか、この状況でどのように役立つか説明してください。
Sirex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.