Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск процесса по используемому файлу (http://forum.oszone.net/showthread.php?t=328110)

madeinussr 05-07-2017 12:38 2749233

Поиск процесса по используемому файлу
 
Хотелось бы методами командной строки выяснить какой процесс использует файл. Собственно частично решение уже сам нашёл:
Код:

wmic process where "commandline like '%test.txt%'" get name
или если сразу убить
Код:

wmic process where "commandline like '%test.txt%'" call terminate
Но этот способ работает не всегда, т.к. не у всех программ отображается открытый файл в параметрах командной строки. Например, если открыть файл не блокнотом, а в MS Word (у меня Office 2003), то эта команда уже не сработает. Команда
Код:

wmic process >process.txt
в таком случае вообще не выводит строк содержащих test.txt. В tasklist тоже ничего подходящего не нашёл. В Process Explorer можно видеть, какие файлы использует процесс во время работы. И не только файл который открывает, но и временно созданные, файлы операционной системы, свои библиотеки и т.д. Есть ли способ получить эту информацию в командной строке?

Iska 05-07-2017 13:04 2749246

1. Download Windows Server 2003 Resource Kit Tools from Official Microsoft Download Center.
Цитата:

Oh.exe - Open Handles

This command-line tool shows the handles of all open windows. You can also constrain OH to only show information relating to a specific process, object type, or object name. This feature is useful for finding which process has a file open when a sharing violation occurs. To function properly, OH must enable a kernel option which maintains a linked list of all objects by object type. If not set, OH enables this option and notifies you that you must reboot before OH will function. After rebooting, OH can display information.
Не рекомендую из-за выделенного.

2.
Код:

openfiles.exe /?
Не рекомендую по тем же причинам.

3. Handle.

4. Наверняка что-нибудь уже сваяли под PowerShell (не проверялось).

madeinussr 05-07-2017 13:16 2749252

А решения, чтобы батник сразу мог это выяснить без установки дополнительного ПО и перезагрузки системы, начиная с Windows XP SP3, не существует?

Извиняюсь, что ввожу новые условия по ходу.

Iska 05-07-2017 13:37 2749262

Мне таковых способов не известно.


Время: 15:17.

Время: 15:17.
© OSzone.net 2001-