Список открытых папок в Windows 7

Список открытых папок в Windows 7

После долгих исследований я должен спросить:

  • Есть ли способ получить список папок (не файлов) и, возможно, их путей?которые открываются в Windows 7?

Я хотел бы получить папки из файловой системы, а не из окон приложений.

Я пыталсяProcessExplorer от SysInternalбезуспешно. Самое близкое, что я сделал, это сделал снимок экрана всплывающего окна панели задач для Windows Explorer.

решение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» и т. д., пока не получите желаемые результаты, соответствующие требуемым критериям.

Вы, вероятно, могли бы использоватьPowerShellи/илиFINDSTRсделать это более эффективно, но у меня сейчас нет времени проводить кучу тестов, поэтому я подумал, что предоставлю вам этот быстрый метод, который может подойти вам.


Ручка

Введение

Вы когда-нибудь задумывались, какая программа открыла определенный файл или каталог? Теперь вы можете это узнать. Handle — это утилита, которая отображает информацию об открытых дескрипторах для любого процесса в системе. Вы можете использовать ее, чтобы увидеть программы, которые открыли файл, или увидеть типы объектов и имена всех дескрипторов программы.

Вы также можете получить версию этой программы с графическим интерфейсом,Обозреватель процессов, здесь, в 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 делит свой вывод на разделы для каждого процесса, для которого он выводит информацию о дескрипторе. В качестве разделителя используются пунктирные линии, сразу под которыми вы увидите имя процесса и его идентификатор процесса (PID). Под именем процесса перечислены значения дескриптора (в шестнадцатеричном формате), тип объекта, с которым связан дескриптор, и имя объекта, если оно есть.

В режиме поиска Handle выводит имена процессов и идентификаторы, перечисленные слева, а имена объектов, для которых обнаружено совпадение, — справа.

Скачать дескриптор

источник


Дополнительные ресурсы

Связанный контент