
Windows 7では、返されたファイルのリストを取得する方法はありますか?高度なクエリ構文(AQS)?
クエリの例を次に示します。
owner:bob type:image
そのクエリによって返されるファイルのリストをテキスト ドキュメントで取得したいのですが、コマンド ラインから AQS を使用できますか?
答え1
考えられる解決策
- Ctrlすべての結果を選択するには+ を押しますA。
- キーを押したままShift、リストの最初の項目を右クリックします。
- 選ぶパスとしてコピーコンテキスト メニューから選択します。
- 結果を新しいテキスト ファイルに貼り付けます。
たとえば、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
答え2
NirSoftの無料かつ多機能なユーティリティを使うこともできますシステムエクスポータ:
SysExporter ユーティリティを使用すると、システムで実行されているほぼすべてのアプリケーションから標準のリスト ビュー、ツリー ビュー、リスト ボックス、コンボ ボックス、テキスト ボックス、Web ブラウザー/HTML コントロールに保存されているデータを取得し、テキスト、HTML、または XML ファイルにエクスポートできます。
エクスプローラーにファイル検索結果が表示されている場合、SysExporter は既に検索結果を検出している可能性がありますが、そうでない場合は、結果ウィンドウにドラッグできるターゲット アイコンが表示されます。必要なエントリと必要な列を選択し、任意の列で並べ替えると、データをクリップボードにコピーするか、選択した形式でファイルにエクスポートすることができます。