Windows 7 で開いているフォルダーの一覧

Windows 7 で開いているフォルダーの一覧

多くの調査を行った後、私はこう尋ねなければなりません:

  • ファイルではなくフォルダのリストとそのパスを取得する方法はありますか?Windows 7で開かれる?

アプリケーション ウィンドウではなく、ファイル システムからフォルダーを取得したいと思います。

私は試したSysInternal の ProcessExplorer成功しませんでした。私が最も近づいたのは、Windows エクスプローラーのタスクバー ポップアップのスクリーンショットを撮ることです。

答え1

あなたはハンドルアプリケーションを選択し、該当する結果をフィルタリングします。探す以下の例のように、オブジェクト タイプに「ファイル」を指定するコマンド。

特定の文字列パターンを含めたり除外したりすることで、これらの方法をさらに拡張してニーズを満たすことができます。フォルダオブジェクトタイプのみを表示し、特定のファイル拡張子を除外する


構文例

  1. 以下は、文字列「file」を含み、文字「files」の横のカンマの前後の先頭と末尾のスペースを含む結果のみを表示します。

    handle64 -a | FIND /I " file "


さらに絞り込む

さらに、FINDコマンド フィルターを追加して、基準に応じて結果をさらに絞り込み、各FINDコマンドを次のFINDコマンドにパイプして、含まれる一致した文字列と除外される一致した文字列を返すこともできます。

  • FIND /I "<string>": は、文字の大文字と小文字の区別を無視し、特定の一致する文字列のみを含む結果を表示することを意味します。
  • FIND /I /V "<string>":/Vスイッチを追加すると、特定の一致する文字列を含むすべての行が除外されます。

  1. 以下では、文字列「 file 」を含む結果のみが表示され (上記の例と同じ)、その結果が次のFINDコマンドにパイプされて、「:\」(コロンおよびバックスラッシュ) 文字を含む残りの結果のみが表示されます。

    handle64 -a | FIND /I " file " | FIND /I ":\"

  2. 以下では、文字列「 file 」を含む結果のみが表示され、その結果は次のFINDコマンドにパイプされ、その後、このパターンに一致する結果を除外して表示しないスイッチを使用して、次の find コマンドにパイプされます/V

    handle64 -a | FIND /I " file " | FIND /I ":\" | FIND /I /V "C:\Windows"


スケーリングとその他のツール

必要な基準を満たす目的の結果が得られるまで、ファイル拡張子「.bin」を除外するなど、さらに除外を実行するために、適用可能なコマンドを 1 つずつパイプして次のコマンドに拡張し続けることができます。

おそらくパワーシェルおよび/または検索文字列これをより効率的に行うには、今はたくさんのテストを行う時間がないので、あなたのニーズに合うかもしれないこの簡単な方法を紹介しようと思いました。


ハンドル

導入

どのプログラムが特定のファイルまたはディレクトリを開いているか疑問に思ったことはありませんか? 今ならわかります。Handle は、システム内の任意のプロセスの開いているハンドルに関する情報を表示するユーティリティです。これを使用すると、ファイルを開いているプログラムを確認したり、プログラムのすべてのハンドルのオブジェクト タイプと名前を確認したりできます。

このプログラムのGUIバージョンも入手できます。プロセスエクスプローラー、Sysinternals にて。

インストール

「handle」と入力して Handle を実行します。Handle を実行するには管理者権限が必要です。

使用法

ハンドルは開いているファイル参照の検索を目的としているので、コマンドラインパラメータを指定しない場合は、開いているファイルを参照するシステム内のすべてのハンドルの値とファイル名が一覧表示されます。また、この動作を変更するいくつかのパラメータも受け取ります。

usage: handle [[-a] [-u] | [-c <handle> [-l] [-y]] | [-s]] [-p <processname>|
<pid>> [name]

-a    Dump information about all types of handles, not just those that refer
      to files. Other types include ports, Registry keys, synchronization        
      primitives, threads, and processes.
-c    Closes the specified handle (interpreted as a hexadecimal number). You
      must specify the process by its PID.
      WARNING: Closing handles can cause application or system instability.
-l    Dump the sizes of pagefile-backed sections.
-y    Don't prompt for close handle confirmation.
-s    Print count of each type of handle open.
-u    Show the owning user name when searching for handles.
-p    Instead of examining all the handles in the system, this parameter
      narrows Handle's scan to those processes that begin with the name 
      process. Thus:

handle -p exp

      would dump the open files for all processes that start with "exp", 
      which would include Explorer.
name  This parameter is present so that you can direct Handle to search
      for references to an object with a particular name.

      For example, if you wanted to know which process (if any) has
      "c:\windows\system32" open you could type:

      handle windows\system

      The name match is case-insensitive and the fragment specified can be
      anywhere in the paths you are interested in.

出力を処理する

検索モードではない場合 (名前のフラグメントをパラメータとして指定することで有効になります)、Handle は、ハンドル情報を印刷するプロセスごとに出力をセクションに分割します。破線は区切りとして使用され、そのすぐ下にプロセス名とプロセス ID (PID) が表示されます。プロセス名の下には、ハンドル値 (16 進数)、ハンドルが関連付けられているオブジェクトのタイプ、およびオブジェクトの名前 (ある場合) がリストされます。

検索モードでは、Handle はプロセス名と ID を左側にリストし、一致したオブジェクトの名前を右側に出力します。

ダウンロードハンドル

ソース


その他のリソース

関連情報