重灌 Windows 7 後,許多用戶發現舊硬碟、舊分區的資料夾顯示「您目前沒有權限存取此資料夾」,即使是 Administrators 群組也被拒之門外。這是因為 NTFS 權限隨著系統重裝而失效,舊資料夾的擁有者 SID (Security Identifier) 已不存在於新系統中。本文提供兩種解決方案:一鍵匯入註冊表新增右鍵選單、命令列批次處理,讓你輕鬆奪回檔案控制權。
將以下內容複製到記事本,存檔為 TakeOwnership.reg(編碼選 ANSI 或 UTF-8),雙擊匯入登錄檔,確認後即可在任何檔案/資料夾右鍵選單中看到「管理員取得所有權」選項,點選即自動遞歸取得擁有權並授予 Administrators 完全控制權限。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理員取得所有權"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理員取得所有權"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理員取得所有權"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"
操作說明:
以系統管理員身分開啟命令提示字元(Win+X → A),執行:
takeown /F "D:\OldData" /R /A
icacls "D:\OldData" /grant administrators:F /T /C
/F 指定路徑,/R 遞歸處理子目錄,/A 將擁有權指派給 Administrators 群組而非當前使用者。icacls /grant administrators:F 授予完全控制權,/T 遞歸,/C 遇錯誤繼續。重灌前,將重要資料移至非系統分區,並記錄原資料夾權限設定(icacls "path" /save acl.txt /T),重灌後可用 icacls "path" /restore acl.txt 快速還原權限,避免事後補救。
權限問題看似棘手,掌握 takeown 與 icacls 兩大指令,或是善用一鍵註冊表腳本,就能讓你在 Windows 7 下隨心所欲掌控檔案存取權。