Как рекурсивно удалить атрибут «только для чтения» в Windows

Как рекурсивно удалить атрибут «только для чтения» в Windows

Мне нужно удалить атрибуты "только для чтения" всех файлов в каталоге рекурсивно в Windows с помощью командной строки. Не могли бы вы привести пример?

решение1

Я бы использовал команду ATTRIB, например:

attrib -r c:\folder\*.* /s

attribэто команда
-r- это флаг для удаления атрибутов «только для чтения»
c:\folder\*.*- это папка, в которой вы ее запускаете, плюс подстановочные знаки для всех файлов
/s- это флаг для выполнения всех подкаталогов и файлов

Вот еще немного документации и примеров для команды attrib: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib

решение2

Сначала откройте командную строку. Затемcdв каталог, где вы хотите начать применять изменения атрибутов. Наконец, введите следующую команду:

 attrib -R /S

Это снимет атрибут «Только чтение» со всех файлов в текущем каталоге, а затем выполнит рекурсивный переход вниз, чтобы сделать то же самое во всех подкаталогах.

решение3

Примечание:Большинство других ответов используют только -rто, что можетне работадля файлов, у которых установлены атрибуты systemили .hidden

Итак, вот решение для рекурсивного удаления атрибута «только для чтения» извсефайлы (включая системные или скрытые) внутри каталога:

attrib -s -h -r "c:\path_to_folder\*.*" /s /d

Описание:
-sУдалить системный атрибут
-hУдалить скрытый атрибут
-rУдалить атрибут «только для чтения»
/sУстановить/удалить атрибуты в текущей папке, включая подпапки
/dУстановить/удалить атрибуты папок

решение4

Здесь много опций, но этот пакетный файл поддерживает перетаскивание папок и/или файлов в сам пакетный файл.

Сохраните этот код ниже в Read-only Off.bat.

Обратите внимание на то, как работает бит сброса внутри кода.

@echo off
title ' %~nx0 ' by stephen147
color 5F
rem Place this inside a folder and run to remove the read-only attribute in the root folder and any folders or files within.
rem Or drop the folder/s and/or file/s to the batch file itself.
cd /d "%~dp0"
echo.
echo.Do you want to remove the read-only attributes inside this folder ? [ Ctrl + C to cancel ]
echo.
pause
echo.
echo.%cd%
attrib -s -d -r "%cd%\*.*"
attrib -s -d -r "%cd%"
rem This line supports dropping the folder/s and/or file/s to the batch file itself.
attrib -r "%*"
echo.
echo.Done
timeout /T 5
EXIT

Связанный контент