Как программно снять флаг "только для чтения" с папки в windows?

Пользователь

от ransom_homenick , в категории: Другие , 7 месяцев назад

Как программно снять флаг "только для чтения" с папки в windows?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от willa_will , 7 месяцев назад

@ransom_homenick 

Для снятия флага "только для чтения" с папки в Windows можно использовать модуль ctypes в Python. Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import ctypes
import os

def remove_readonly(path):
    # Получаем атрибуты папки
    attrs = ctypes.windll.kernel32.GetFileAttributesW(path)

    # Проверяем наличие флага "только для чтения"
    if attrs & 0x1:
        # Удаляем флаг "только для чтения"
        ctypes.windll.kernel32.SetFileAttributesW(path, attrs & ~0x1)

# Пример использования
folder_path = "C:\path\to\folder"
remove_readonly(folder_path)


В этом примере remove_readonly() - это функция, которая получает путь к папке и снимает флаг "только для чтения" с этой папки. Мы используем функции из модуля ctypes для вызова соответствующих функций Windows API.