Windows 資源管理器可讓可執行檔的句柄保持開啟狀態

Windows 資源管理器可讓可執行檔的句柄保持開啟狀態

我在從 Windows 資源管理器覆蓋任何 .exe 時遇到問題(拖放或複製貼上),我收到錯誤訊息:「操作無法完成,因為其中的資料夾或檔案已在另一個程式中開啟」。我使用 sysinternal 工具來檢查誰擁有該文件,並且它是系統進程。

假設我有以下檔案結構 rootfolder\a.exe rootfolder\someotherfolder\a.exe

1-如果我在根資料夾中開啟 Windows 資源管理器並將 a.exe 拖放到某個其他資料夾上,則某個其他資料夾內的 a.exe 會被正確覆寫。

2-如果我同時打開兩個Windows 資源管理器實例,一個在根資料夾內,一個在其他資料夾內,並且我將a.exe 拖放到另一個a.exe 上,我會收到錯誤訊息。

現在奇怪的是,如果我要關閉其他資料夾並嘗試重複步驟 1,它會失敗並顯示相同的錯誤訊息。系統會保留該檔案的句柄幾秒鐘,直到我關閉資料夾為止。

我嘗試關閉索引服務、停用 UAC、停用防毒軟體。我在網域上執行 Windows 7 64 位,我的使用者是我的機器的管理員,當我查看所述文件的權限時,它表明我的使用者對其具有完全控制權。我有點不知道該怎麼做才能解決這個問題。

答案1

儘管聽起來很奇怪(我不太明白),但是按照本文中描述的步驟進行操作 部落格文章糾正了一切。

基本上,我在管理員命令提示字元中輸入了以下內容,一切都開始神奇地工作:

網路使用者管理員/活動:是

答案2

當您將檔案拖放到 exe 檔案上時,您是在告訴資源管理器啟動目標執行程式文件並打開拖曳exe檔文件。這是預設行為。您的系統中並非如此。

我的猜測是第三方程式。您的系統上安裝了任何複製/拖放處理程序嗎?

答案3

給個程式解鎖器一槍。不僅是它自由的並相容所有版本的 Windows從 2000 到 7,它允許您從進程「解鎖」檔案句柄沒有終止它們(當然,您也可以選擇後一種選擇)。

這是迄今為止我發現的唯一一個允許您執行此操作的實用程式(解鎖檔案句柄而無需終止進程或重新啟動電腦)。


至於為什麼會發生這種情況,可能是 Windows 試圖快取應用程式圖標,或是外部進程(即防​​毒程式)掃描檔案。 Unlocker 會告訴您哪個進程鎖定了文件,因此它應該讓您了解為什麼會發生這種情況。

相關內容