Windows XPで特定の拡張子に一致しないファイルを見つけるにはどうすればよいですか?


3

ファイルではない サブディレクトリ内のすべてのファイルを見つけて削除する必要があり.SQLます。Windows Searchでの検索方法<>.SQL!.SQLWindows Searchでの検索方法がわかりません。

私がここで見た解決策のほとんどは、特定の拡張機能を見つけて、それらで何かをすることです。私は反対を探しています。


ええ、特定のファイルを検索するのは非常に簡単ですが、特定のファイルではないすべてのものをどのように検索しますか。
ニコ

Windows検索で<> *。sqlまたは!*。sqlを検索できませんか?
ニコ

これがWindowsのデフォルト検索の機能だとは思わない。ほとんどの場合、スクリプトを記述するか、grepなどのツールをインストールする必要があります。
マイクソウル

1
私はこれがかなり古いことを知っていますが、この質問superuser.com/questions/328223 / ...には素晴らしい答えがあります。Explorerで「NOT * .sql」(NOT NOTの大文字表記)を検索します。それは私にとっては新しいものでしたが、私はそれをテストし、動作しました。「NOT * .mp3 NOT * .aiff NOT * .m4p」を実行することもできます。さらに「NOT folder」に移動して、結果からフォルダーを除外できます。
ジェフ

回答:


7

Windows Searchからそれを行う方法はわかりませんが、コマンドラインからは次のとおりです。

dir /s /b /a-d | findstr /v /r ".*\.sql"
  • dir / s-再帰的なディレクトリリスト
  • / b-ベアリスト、ファイル名のみ(出力にディレクトリサイズ情報などはありません)
  • / ad-ディレクトリではなく属性でフィルターします(リストからサブディレクトリを削除します)
  • | (パイプ)-ディレクトリリストの出力を送信する
  • findstr-テキスト検索ユーティリティ
  • / v-一致しない行のみを返します
  • / r-正規表現を使用します
  • "。*。sql"-任意の回数、ドット、SQL、SQL

これには正規表現は必要ありません。パイプの後、findstr /v "*.sql"うまく動作するはずです。でもありがとう!
イアンサミュエルマクリーン長老

このコマンドの出力で何かをしたい場合(たとえば、ファイルを削除する場合)、これをバッチファイル内で使用できますFOR /f "tokens=* USEBACKQ" %%a in (`dir /s /b /a-d ^| findstr /v /r ".*\.sql"`) DO del /f /q "%%a"
。– WackGet

これは良いことであり、私も思いついたことです。使用せずにdir \b(つまり、日付、サイズなどを確認できるように)、for /fループを使用せずにこれを行う方法を見つけられると便利です。
DGO

2

このような機能をネイティブでサポートしていないWindows検索を使用する場合は、次のように実行できます。

*.a OR *.b OR *.c OR *.d OR *.e OR *.f OR *.g OR *.h OR *.i OR *.j OR *.k OR *.l OR *.m OR *.n OR *.o OR *.p OR *.q OR *.r OR *.t OR *.u OR *.v OR *.w OR *.x OR *.y OR *.z

次の検索では、拡張子が.s *のすべてのファイルが除外され、その他はすべてリストされます。

おそらくもっと良い方法がありますが、これもうまくいくはずです。


2
ファイル拡張子は通常1ではなく3文字です。26 ^ 3 = 17576の異なる組み合わせ..........
Pacerier 14

1

Windows 10(バージョン1803を使用)で、エクスプローラーの検索ボックスを使用して入力します

*.* kind:-jpg

私の写真フォルダ内のjpgではないすべてのファイルを見つけるために(そう、ビデオなど)。おそらくあなたは試してみるべきです

*.* kind:-sql
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.