名前が 100 文字を超えるファイルをすべて削除しますか?

名前が 100 文字を超えるファイルをすべて削除しますか?

インストールしたベータ版ソフトウェアが誤って各フォルダに100文字を超えるファイル名のログファイルを作成してしまった。1つずつ削除するのに非常に長い時間がかかる。

100 文字未満のファイルを削除せずに、名前が 100 文字以上のすべてのファイルを一括削除することは可能ですか?

答え1

PowerShell で、次のようにファイルがリストされる場合:

gci -file -recurse | ?{$_.name.length -gt 100} | select name | ft -Wrap

すると、それらは削除されます:

gci -file -recurse | ?{$_.name.length -gt 100} | remove-item

答え2

PowerShellで以下のコマンドを実行します。

ls | where { $_.Name.Length -ge 100 } | rm -WhatIf

lsの別名の1つですGet-ChildItemそしてrmRemove-Item削除したいファイルが現在のフォルダにない場合は、フォルダへのフルパスをls

ファイルが正しいことを確認したら、-WhatIf実際の削除を行うために部分を削除します。サブディレクトリ内のファイルも削除したい場合は-Recursels

関連情報