本文目录导读:

Windows 系统
方法1:使用 PowerShell(推荐)
# 取消当前目录及子目录所有文件的只读属性
Get-ChildItem -Path "." -Recurse -File | ForEach-Object {
$_.IsReadOnly = $false
}
# 或者更简洁的写法
Get-ChildItem -Recurse -File | Set-ItemProperty -Name IsReadOnly -Value $false
特定文件夹操作:
# 指定文件夹路径
$folderPath = "C:\Your\Folder\Path"
Get-ChildItem -Path $folderPath -Recurse -File | ForEach-Object {
$_.IsReadOnly = $false
}
方法2:使用命令行 (CMD)
@echo off REM 取消当前目录所有文件的只读属性 attrib -r *.* /s REM 取消指定文件夹的只读属性 attrib -r "C:\Your\Folder\Path\*.*" /s
参数说明:
-r:移除只读属性/s:包括子目录
方法3:使用 Python 脚本
import os
def remove_readonly(folder_path):
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
try:
os.chmod(file_path, 0o666) # 取消只读
print(f"已处理: {file_path}")
except Exception as e:
print(f"处理失败: {file_path} - {e}")
# 使用示例:取消当前目录所有文件只读
remove_readonly(".")
Linux/Mac 系统
方法1:使用 chmod 命令
# 取消当前目录及子目录所有文件只读
find . -type f -exec chmod 644 {} \;
# 取消目录的只读(可执行依赖)
find . -type d -exec chmod 755 {} \;
方法2:使用 bash 脚本
#!/bin/bash
# 取消指定文件夹所有文件的只读属性
folder_path="/path/to/your/folder"
# 对文件赋予读写权限
find "$folder_path" -type f -exec chmod u+w {} \;
# 对目录赋予读写执行权限
find "$folder_path" -type d -exec chmod u+wx {} \;
注意事项
-
系统文件警告:不要修改系统关键文件的只读属性
-
权限问题:某些文件可能需要管理员/root权限
-
预览确认:建议先查看哪些文件是只读的:
# Windows PowerShell Get-ChildItem -Recurse -File | Where-Object { $_.IsReadOnly } # Linux/Mac find . -type f ! -perm /u+w
选择最适合你的场景的方法即可,建议先用小范围测试,确认无误后再批量处理。