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”的文件扩展名,依此类推,直到获得符合所需条件的所需结果。

你也许可以使用电源外壳和/或查找字符串为了更有效地做到这一点,但我现在没有时间进行大量测试,所以我想我会把这个快速方法给你,它可能适合你的需要。


处理

介绍

您是否想知道哪个程序打开了某个文件或目录?现在您可以找到答案。Handle 是一个实用程序,可显示系统中任何进程的打开句柄的信息。您可以使用它来查看打开了文件的程序,或查看程序所有句柄的对象类型和名称。

您还可以获得该程序的基于 GUI 的版本,进程探索器,在 Sysinternals 这里。

安装

您可以通过输入“handle”来运行 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)。进程名称下方列出了句柄值(十六进制)、句柄所关联的对象类型以及对象的名称(如果有)。

在搜索模式下,Handle 会打印左侧列出的进程名称和 ID,以及右侧列出的匹配对象的名称。

下载句柄

来源


更多资源

相关内容