Сценарий PowerShell для проверки приложения это блокирует файл?

Еще один вариант - использовать Add Task..., щелкнув правой кнопкой мыши по желобу редактора.

Add Task... screenshot

44
задан Peter Mortensen 10 January 2016 в 13:22
поделиться

2 ответа

Это можно сделать с помощью инструмента handle.exe SysInternals . Попробуйте что-то вроде этого:

PS> $handleOut = handle
PS> foreach ($line in $handleOut) { 
        if ($line -match '\S+\spid:') {
            $exe = $line
        } 
        elseif ($line -match 'C:\\Windows\\Fonts\\segoeui\.ttf')  { 
            "$exe - $line"
        }
     }
MSASCui.exe pid: 5608 ACME\hillr -   568: File  (---)   C:\Windows\Fonts\segoeui.ttf
...
37
ответ дан 26 November 2019 в 22:14
поделиться

Вы должны иметь возможность использовать команду openfiles либо из обычной командной строки, либо из PowerShell.

Встроенный инструмент openfiles может использоваться для общих файловых ресурсов или для локальных файлов. Для локальных файлов вы должны включить инструмент и перезагрузить компьютер (опять же, только при первом использовании). Я считаю, что команда для включения этой функции следующая:

openfiles /local on

Например (работает в Windows Vista x64):

openfiles /query | find "chrome.exe"

Это успешно возвращает дескрипторы файлов, связанные с Chrome. Вы также можете передать имя файла, чтобы увидеть, какой процесс в данный момент обращается к этому файлу.

12
ответ дан 26 November 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: