2010-08-02 40 views

回答

10

您可以使用ProcessExplorer來搜索文件:

只需運行(也許你需要使用管理員權限啓動它),在名稱打Ctrl-F和類型被鎖定的文件 - 它將查找所有與給定名稱匹配的打開句柄,並告訴你它屬於哪個進程。

+0

我怎麼知道哪個進程當前正在使用該文件?因爲當我嘗試它時,它看起來像列出所有最近的訪問 – 2010-08-02 08:43:44

+1

@Louis RH:在具有管理權限的帳戶下啓動Process Explorer之後,應該按Ctrl-F或在菜單「查找」/「查找句柄或DLL ...「,然後鍵入您搜索的文件的名稱。所以就做Kragen爲你寫的東西吧。 – Oleg 2010-08-02 09:51:03

+0

@Louis - 訪問該文件的進程可能不會立即關閉它,在這種情況下,Process Explorer將爲您找到這些句柄/進程 - 我不知道如何確定哪些句柄阻止了您的進程然而,使用該文件(並非所有句柄都會阻止對文件的訪問 - 兩個進程可以共享相同的文件,具體取決於每個進程請求的訪問 - 讀/寫等) – Justin 2010-08-02 11:21:29

1

看一看這樣的:http://www.emptyloop.com/unlocker/

我用它所有的時間,告訴你哪個進程已鎖定它,讓您完全解鎖的機會。特別適用於調試圖像處理應用程序時,並且在沒有正確關閉文件的情況下彈出。

希望這有助於!

肖恩

2

您可以使用一個工具,如ProcessMon看到什麼進程鎖定的文件。

+0

與我的情況相比,這是唯一可行的選擇,相比之下,ResourceMonitor和ProcessExplorer都假設阻止應用程序仍然持有該文件時,我開始查找誰阻止了它。在我的情況下,我被MSBuild的一些臨時文件switcharoo所捕獲,顯然mcshield.exe正在使用我的prebuild命令寫入臨時批處理文件。 – jxramos 2016-05-09 22:48:08

相關問題