Windows 7에서 읽기 전용 특성을 재귀 적으로 제거하는 방법


답변:


87

예를 들어 ATTRIB 명령을 사용합니다.

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

attrib명령
-r은 읽기 전용 속성을 제거하기위한 플래그입니다.
c:\folder\*.*실행중인 폴더이고 모든 파일에 대한 와일드 카드
/s는 모든 하위 디렉토리 및 파일을 수행하기위한 플래그입니다.

다음은 attrib 명령에 대한 추가 문서 및 예제입니다. https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib


16
/d실제 폴더도 처리하려면를 추가하십시오 .
LawrenceC

2
"숨김"또는 "시스템"으로 표시된 파일에는 작동하지 않습니다. 해당 파일에서 읽기 전용 속성을 제거하려면 다른 속성도 제거해야합니다 (예 attrib -h -r:).
Excelcius

2
경로에 공백이 ""에 들어간 경우 : attrib -r "c : \ Program Files (x86) \ SmartGit *. *"/ s
Daniel Hári

해당 링크의 페이지가 더 이상 존재하지 않습니다.
Broots Waymb

25

먼저 명령 프롬프트를 엽니 다. 그런 다음 cd속성 변경 사항을 적용하려는 디렉토리로 이동하십시오. 마지막으로 다음 명령을 입력하십시오.

 attrib -R /S

현재 디렉토리의 모든 파일에서 읽기 전용 속성을 제거한 다음 모든 하위 디렉토리에서 동일한 작업을 수행하기 위해 재귀합니다.


9

참고 : 대부분의 다른 답변은 속성이 설정 되어 있거나 파일 -r아닌 파일 에서만 작동 합니다 .systemhidden

다음은 디렉토리 내의 모든 파일 (시스템 또는 숨김 파일 포함) 에서 읽기 전용 속성을 재귀 적으로 제거하는 솔루션입니다 .

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

설명 :
-s 시스템 속성
-h제거 숨겨진 속성
-r제거 읽기 전용 속성 /s제거 현재 폴더 및 하위 폴더를 포함하여 /d속성 설정 / 제거 폴더의 속성 설정 / 제거


2
이것이 최선의 답변으로 설정되어야합니다.
Julius

2

이를 위해이 배치 파일을 만들었습니다. 기본적으로이 배치 파일은 디렉토리의 디렉토리 또는 디렉토리의 모든 하위 디렉토리에서 읽기 전용 속성을 지 웁니다. 누군가가 그것을 사용하기를 바랍니다. 배치 파일을 스스로 배우기 시작하면서 "불량한"것처럼 보일 수있는 코드를 실례합니다.

@ECHO off
:begin
ECHO Would you like to only remove read only attributes
ECHO from this director or from all the sub directores as
ECHO well?
ECHO.
ECHO [A] This directory only
ECHO [B] All directories - cascading
ECHO [C] Cancel
SET /P actionChoice="Option(A,B,C): "
ECHO.
IF "%actionChoice%" == "A" GOTO A
IF "%actionChoice%" == "B" GOTO B
IF "%actionChoice%" == "C" GOTO C
GOTO badChoice

:A
CLS
ECHO Are you sure you want to remove all read-only
ECHO attributes from this directory only?
ECHO.
ECHO Directory:
ECHO.
ECHO %CD%
ECHO.
SET /P continueChoice="Continue? (Y, N): "
IF "%continueChoice%" == "N" GOTO abort
ECHO Removing Read Only Attributes From Local Directory...
SET currectDirectory=%CD%
ECHO Current directory is: %currectDirectory%
FOR %%G IN (%currectDirectory%\*) DO (
ECHO %%G
ATTRIB -R "%%G"
)
GOTO end

:B
CLS
ECHO Are you sure you want to remove all read-only
ECHO attributes from this directory and all sub-directories?
ECHO.
ECHO Directory:
ECHO.
ECHO %CD%
ECHO.
SET /P continueChoice="Continue? (Y, N): "
IF "%continueChoice%" == "N" GOTO abort
ECHO Removing Read Only Attributes Cascading...
FOR /R %%f IN (*) DO (
ECHO %%f
ATTRIB -R "%%f"
)
GOTO end

:C
CLS
ECHO Cancel: no files have been changed
GOTO end

:badChoice
CLS
ECHO Unknown Option
ECHO.
ECHO.
ECHO.
GOTO begin

:abort
CLS
ECHO No files have been changed
ECHO.
ECHO.
ECHO.
GOTO begin

:end
ECHO Read only attributes removed
PAUSE

0

여기에 많은 옵션이 있지만이 배치 파일은 배치 파일 자체에 폴더 및 / 또는 파일을 삭제하는 것을 지원합니다.

이 코드를 아래에 저장하십시오 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.