How to remove read-only attribute recursively on Windows

I would use the ATTRIB command, for example:

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

attrib is the command
-r is the flag for removing read-only attributes
c:\folder\*.* is the folder you are running it on, plus wildcards for all files
/s is the flag for doing all sub directories and files

Here is some more documentation and examples for the attrib command: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib


First, open up a command prompt. Then cd into the directory where you want to start applying the attribute changes. Finally, enter the following command:

 attrib -R /S

That will remove the read-only attribute from all files in the current directory, then it will recurse down to do the same thing in all the subdirectories.

  • Technet - attrib

Note: Most of the other answers are using only -r which might not work on files which have system or hidden attributes set.

So here is a solution for recursively removing read-only attribute from all the files (including those which are system or hidden) inside a directory:

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

Description:
-s Remove system attribute
-h Remove hidden attribute
-r Remove read-only attribute
/s Set/remove attributes in current folder and including subfolders
/d Set/remove attributes of folders too