Windows 7の検索結果をテキストファイルにエクスポートする


16

Windows 7では、Advanced Query Syntax(AQS)によって返されるファイルのリストを取得する方法はありますか?

以下にクエリの例を示します。

owner:bob type:image

テキストドキュメントでそのクエリによって返されるファイルのリストが必要です。コマンドラインからAQSを使用できますか?

回答:


14

可能な解決策

  1. Ctrl+ Aを押して、すべての結果を選択します。
  2. 押しながらShiftキーを、リスト内の非常に最初の項目を右クリックします。
  3. コンテキストメニューから[ パスとしてコピー]を選択します。
  4. 結果を新しいテキストファイルに貼り付けます。

たとえば、C:\Windows\System32フォルダで次のクエリを使用することを検討してください。

type:image

出力は次のようになります。

"C:\Windows\System32\oobe\background.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\AppInstalled.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\ClickDownExpanded.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\ClickDownNormal.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Column.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Documents.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Failure.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Programs.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\System.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\Users.gif"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsMail.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsMovieMaker.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsOutlookExpress.bmp"
"C:\Windows\System32\migwiz\PostMigRes\Web\base_images\WindowsPhotoGallery.bmp"

既知の制限

  • リストの最初のアイテムを選択しない限り、結果の出力は適切にソートされません。
  • すべてのアイテムは引用符で囲まれます。
  • コピーされた結果には、常にフルパスが含まれます。

後処理

制限を克服するいくつかの方法。

手動ソート

必要に応じて、コマンドプロンプトでsortコマンドを使用して、出力を手動で並べ替えることができます

使用例

sort "X:\Path\to\input.txt" /o "X:\Path\to\sorted.txt"

引用符の除去

引用符が邪魔になる場合がありますが、以下のバッチスクリプトでそれらを削除できます。名前を付けて保存するStripQuotes.cmdだけです(または、.cmd拡張子はそのままにしておきます)。スクリプトは、入力/出力ファイルの2つのパラメーターをそれぞれ受け入れます。

使用例

StripQuotes.cmd "X:\Path\to\myfile.txt" /o "X:\Path\to\stripped.txt"

バッチスクリプト

@echo off
if "%~2" == "" exit /b 2
type nul>"%~2"
for /f "usebackq delims=" %%G in ("%~1") do echo %%~G>>"%~2"
exit /b

ファイル名のみを取得する

完全なパスを気にしない場合は、以下のバッチスクリプトを使用できます。使用方法は、上記のバッチスクリプトと変わりません。

バッチスクリプト

@echo off
if "%~2" == "" exit /b 2
type nul>"%~2"
for /f "usebackq delims=" %%G in ("%~1") do echo %%~nxG>>"%~2"
exit /b

?私はもはやそれは私が解決のための信用をand31415与えることができるように動作するかどうか、誰かが私をこれをテストし、通知することができ:-( Windowsコンピュータを持っていない
mrbinky3000

うん、それは非常にうまくいきます!
皮をむく

3

NirSoftの無料の汎用ユーティリティSysExporterを使用できます。

SysExporterユーティリティを使用すると、システムで実行されているほとんどすべてのアプリケーションから標準のリストビュー、ツリービュー、リストボックス、コンボボックス、テキストボックス、WebBrowser / HTMLコントロールに保存されているデータを取得し、テキスト、HTMLまたはXMLファイル。

Explorerのファイル検索結果では、SysExporterはおそらく既に検索結果を検出していますが、そうでない場合は、結果ウィンドウにドラッグできるターゲティングアイコンがあります。必要なエントリと必要な列を選択し、任意の列で並べ替えると、データをクリップボードにコピーするか、選択した形式でファイルにエクスポートできます。

画像


SysExporterはWindows XP / Vistaで正常に動作しますが、Windows 7の検索結果をサポートしていないようです(少なくともversionの時点では1.62)。
および31415 14

@ and31415:投稿する前にWindows 7でバージョン1.62をテストしましたが、Explorerで正常に動作するようです。どのような検索を実行しましたが、うまくいきませんでしたか?
ハリーマック14

回答(type:image)で投稿した同じクエリを試しましたが、他のクエリでも同じ問題が発生します。基本的に、プログラムは何も表示せず、空のリストのみを表示します。
および31415 14

@ and31415:わかった-詳細モードで結果を表示してみてください。
harrymc 14

1
実際、プログラムに実際のリストを表示させるのは、詳細ビューのみです。その理由は、Windows 7が標準ではなくDirectUIコントロール(バージョン以降でサポート1.60)を使用しているためですListViewDirectUIコントロールは、使用ListViewに切り替えたときに、内部オブジェクトを詳細ビュー、およびSysExporterは、その内容を取り込むことができます。以前のバージョンのWindowsでは、単にListViewコントロールを使用していたため、どのビューでも使用できました。混乱を減らすために、ListViewWindows XP / VistaのDirectUIアイテムとWindows 7のアイテムのみをフィルターできます。列を非表示/並べ替えることもできます。
および31415 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.