Método do PowerShell:
IF((Test-Path -Path $FileOrFolderPath) -eq $false) {
Write-Warning "File or directory does not exist."
}
Else {
$LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath"""
Write-Host $LockingProcess
}
O comando openfiles
precisa ter suporte para arquivos locais ativados, executando openfiles /local on
e reiniciando.
Mais detalhes Como descobrir qual processo está bloqueando um arquivo ou uma pasta no Windows