Еще один вариант - использовать Add Task...
, щелкнув правой кнопкой мыши по желобу редактора.
Это можно сделать с помощью инструмента 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
...
Вы должны иметь возможность использовать команду openfiles либо из обычной командной строки, либо из PowerShell.
Встроенный инструмент openfiles может использоваться для общих файловых ресурсов или для локальных файлов. Для локальных файлов вы должны включить инструмент и перезагрузить компьютер (опять же, только при первом использовании). Я считаю, что команда для включения этой функции следующая:
openfiles /local on
Например (работает в Windows Vista x64):
openfiles /query | find "chrome.exe"
Это успешно возвращает дескрипторы файлов, связанные с Chrome. Вы также можете передать имя файла, чтобы увидеть, какой процесс в данный момент обращается к этому файлу.