본문 바로가기
OS & Infra/Windows

ATTRIB - 폴더에 읽기전용 권한

by Dev. Jkun 2013. 8. 13.
반응형



사내 보안정책으로 폴더와 파일속성을 변경하려는데 막혔다.ㅡㅡ;

해서 콘솔창에다가 명령어를 날리니 돌아가네;; 휴;; 


attrib -r -s 폴더경로 /s /d


아래 내용은 여기에서 한글로 깔끔하게 정리하게 잘되있어 퍼온거임.^^;



이 명령어는 파일의 속성을 보거나 변경하기 위해 사용한다. 즉, 파일이나 디렉토리에 지정된 읽기 전용(Read-only), 기록(Archive), 시스템(System), 숨김(Hidden) 등의 속성을 보거나 변경하는데 사용한다.
속성을 변경할 파일이 숨김 속성이나 시스템 속성을 가지고 있는 경우에는 먼저 시스템 속성과 숨김 속성을 해제한 다음에 속성을 변경해야 한다.

■ 명령어 위치
윈도우 시동 디스크로 부팅하면 진단 도구가 들어 있는 램 드라이브에 실행 파일 형태로 존재하는 외부 명령어
윈도우가 설치되어 있는 하드디스크(C:\Windows\Command)에 실행 파일 형태로 존재하는 외부 명령어


■ 사용법
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:][pathfilename] [/S]


■ 옵션 및 매개변수

[drive:][path] filename

디렉토리나 파일, 혹은 속성을 보거나 변경하고자 하는 일련의 파일의 이름과 경로를 지정한다.

+r

파일에 읽기 전용 속성을 설정한다.

-r

파일의 읽기 전용 속성을 해제한다.

+a

파일에 기록 속성을 설정한다.
파일의 기록 속성은 응용 프로그램에서 파일을 저장하면 자동으로 설정된다.

-a

파일의 기록 속성을 해제한다.

+s

파일에 시스템 속성을 설정한다.

-s

파일의 시스템 속성을 해제한다.

+h

파일에 숨김 속성을 설정한다.

-h

파일의 숨김 속성을 해제한다.

/s

현행 디렉토리와 그 서브디렉토리에 있는 모든 파일의 속성을 변경한다.




■ 참고 사항
☞ 파일 그룹
사용자는 와일드 카드(* 혹은 ?)를 사용하여 파일 그룹의 속성을 표시하거나 변경할 수 있다. 변경하고자 하는 파일에 숨김 속성이나 시스템 속성이 설정되어 있다면 그 파일의 속성을 먼저 제거해야 한다.
ATTRIB 명령어는 디렉토리의 속성을 변경하기 위하여 사용할 수 있는데, 디렉토리의 속성을 변경하기 위하여 이 명령어를 사용하는 경우에는 와일드 카드를 사용하여 일련의 디렉토리를 지정할 수 없고, 디렉토리를 정확히 지정해야 한다.


☞ 기록 속성
기록 속성은 먼저 백업된 후에 바뀌어진 파일만 백업하거나 하드디스크에 복원하기 위하여 사용된다. Xcopy 명령어가 이러한 기록 속성을 이용한다.
만약, 기록 속성이 있는 파일의 목록만을 화면에 나타내려면 Dir 명령어를 사용할 수 있다.
즉, "dir /a:a"와 같이 Dir 명령어를 사용하여 기록 속성을 가진 파일만 화면에 표시할 수 있다.


■ 사용 예
현행 디렉토리에 있는 HWP386.EXE라는 파일의 속성을 알아보려면 다음과 같이 입력한다.

    attrib hwp386.exe

파일 reports.hwp에 읽기 전용 속성을 설정하려면 다음과 같은 ATTRIB 명령어를 사용한다. 

    attrib +r reports.hwp

D드라이브에 있는 HWP\DATA 디렉토리에 있는 모든 파일과 그 서브디렉토리에 있는 모든 파일에서 읽기 전용 속성을 제거하고, 기록 속성을 설정하려면 다음과 같이 입력한다.

    attrib -r +a d:\hwp\data\*.* /s

위의 예에서 BAK 확장자를 가진 파일을 제외하고 A드라이브의 디스크에 있는 디폴트 디렉토리의 모든 파일을 포함하는 파일을 XCOPY를 이용하여 복사하려면, XCOPY로는 기록 속성을 가진 파일만 복사할 수 있는 기능을 사용해야 한다.
이 경우에 있어 복사할 파일에 기록 속성을 부여할 필요가 있다. 즉, BAK 확장자를 가진 파일을 제외한 모든 파일에 기록 속성을 부여하는 방법은 따로 제공하지 않으므로 모든 파일에 기록 속성을 부여한 다음 BAK 확장자를 가진 파일에서 기록 속성을 제거하는 방법을 사용한다.

    attrib +a a:\*.* /s
    attrib -a a:\*.bak /s

이렇게 하면 A드라이브에 있는 디스크의 BAK 파일을 제외한 모든 파일은 기록 속성을 갖는다.
A드라이브의 디스크에 있는 기록 속성을 가진 파일을 C드라이브의 현행 디렉토리로 복사하려면 다음과 같이 입력한다.

    xcopy a: c: /a /s

여기에서 /a는 기록 속성을 가진 파일만 복사하라는 의미이고, /s는 모든 서브디렉토리의 파일도 포함하여 복사하라는 의미이다. 만약, C드라이브로 복사한 다음 원본인 A:에 있는 파일의 기록 속성을 제거하려면 /a 대신에 /m을 사용한다.

    xcopy a: c: /m /s


관련링크

http://pcycom.com.ne.kr/hanmir/dos/dos/attrib.htm

반응형

댓글