用Windows的小夥伴們一定遇到過這樣的情況,刪除檔案的時候提示檔案訪問被拒絕 需要XXX提供的許可權才能對此檔案變更。對一般人來說遇到這種情況首先做的就是滑鼠右鍵--強制移除…… 估計用360或是其他類似軟體的同學們不在少數,目測這種方法應該可以刪除到這些檔案。如果你的右鍵菜單沒有這個選項,也許可以使用其他的一些可以強制移除檔案的工具,在此不作介紹
在我看來,這種問題更一般的方法就是變更檔許可權,右鍵檔案--屬性--安全--編輯。修改檔案許可權,如果提示無法修改許可權,就先修改檔案所有者,右鍵檔案--安全--進階--所有者…… 然而當有不止一個這樣的檔案的時候,這樣的操作就不實在了。所以再簡單介紹兩個工具:takeown 和cacls
takeown 以重新分配檔案所有權的方式允許管理員重新擷取先前被拒絕訪問的檔案訪問權。
參數:
/S system 指定要串連到的遠程系統。
/U [domain]user 指定使用者上下文,命令在此上下文中執行。
/P [password] 指定給定使用者內容相關的密碼。如果省略,提示輸入。
/F filename 指定檔案名稱或目錄名模式。可以用萬用字元 "*" 指定模式。允許共用名稱檔案名稱。
/A 將所有權給於Administrator 群組,而不是目前使用者。
/R 遞迴: 指示工具運行於指定的目錄和子目錄裡的檔案上。
/D prompt 目前使用者在一個目錄裡沒有"列出檔案夾"許可權時,使用預設答案。當在子目錄裡進行遞迴 (/R) 操作時會發生這種情況。用有效值 "Y" 擷取所有權或用 "N" 跳過。
下面是幾個常用的樣本
TAKEOWN /F lostfile ::將lostfile所有權給目前使用者
TAKEOWN /F directory /R /A ::遞迴的方式將directory 目錄下檔案所有許可權給Administrator 群組
TAKEOWN /F * ::將目前的目錄下所有檔案所有權給目前使用者
TAKEOWN /F %windir%*.txt
cacls 用來顯示或者修改檔案的存取控制清單。
參數:
CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm]
[/R user […]] [/P user:perm […]] [/D user […]]
filename 顯示 ACL.
/T 更改目前的目錄及其所有子目錄中指定檔案的 ACL.
/L 對照目標處理符號連結本身
/M 更改裝載到目錄的卷的 ACL
/S 顯示 DACL 的 SDDL 字串。
/S:SDDL 使用在 SDDL 字串中指定的 ACL 替換 ACL.(/E、/G、/R、/P 或 /D 無效)。
/E 編輯 ACL 而不替換。
/C 在出現拒絕訪問錯誤時繼續。
/G user:perm 賦予指定使用者存取權限。
Perm 可以是: R 讀取
W 寫入
C 更改(寫入)
F 完全控制
/R user 撤銷指定使用者的存取權限(僅在與 /E 一起使用時合法)。
/P user:perm 替換指定使用者的存取權限。
Perm 可以是: N 無
R 讀取
W 寫入
C 更改(寫入)
F 完全控制
/D user 拒絕指定使用者的訪問。
在命令中可以使用萬用字元指定多個檔案。
也可以在命令中指定多個使用者。
縮寫:
CI - 容器繼承。ACE 會由目錄繼承。
OI - 對象繼承。ACE 會由檔案繼承。
IO - 只繼承。 ACE 不適用於當前檔案/目錄。
ID - 已繼承。 ACE 從父目錄的 ACL 繼承。
例如:
cacls filename /E /P Administrators:F 將Administrators對filename的存取權限改為完全控制
cacls * /E /C /P Administrators:F 將Administrators對所有檔案存取權限改為完全控制
通過這兩個命令就可以批量擷取檔案的所有權,然後正常刪除檔案
注 :更多精彩教程請關注三聯電腦教程欄目,三聯電腦辦公群:189034526歡迎 你的加入