Main Content

fileattrib

파일이나 폴더의 특성을 설정하거나 가져오기

설명

예제

fileattrib는 현재 폴더의 특성 값을 나열합니다. 값은 다음과 같은 구조체를 사용하여 나열됩니다.

Name
archive
system
hidden
directory
UserRead
UserWrite
UserExecute
GroupRead
GroupWrite
GroupExecute
OtherRead
OtherWrite
OtherExecute

첫 번째 필드인 Name은 파일 이름이나 폴더 이름을 표시합니다. 나머지 필드는 특성이 off인 경우 값 0을 표시하고, 특성이 on인 경우에는 1을 표시하며, 특성이 적용되지 않는 경우에는 NaN을 표시합니다.

fileattrib는 DOS의 attrib 명령이나 UNIX® chmod 명령과 유사합니다.

참고

Windows®에서, 쓰기 액세스 특성('w')을 읽기 전용으로 설정할 경우 반드시 쓰기 액세스가 금지되는 것은 아닙니다. 따라서 UserWrite의 값이 예상한 것과 다를 수 있습니다.

예제

fileattrib filename은 명명된 파일 또는 폴더에 대한 특성 값을 나열합니다.

예제

fileattrib filename attribs는 명명된 파일 또는 폴더에 대해 지정된 특성을 설정합니다.

예제

fileattrib filename attribs users는 지정된 사용자의 서브셋에 대해 파일 또는 폴더 특성을 설정합니다.

예제

fileattrib filename attribs users s는 명명된 폴더의 내용에 대해 지정된 사용자의 지정된 특성을 설정합니다.

예제

[status,values] = fileattrib(filename)은 명명된 파일 또는 폴더의 상태와 성공적으로 설정된 마지막 특성 값을 반환합니다. 파일이 존재하는 경우 status1입니다. 그렇지 않으면 status0이 됩니다.

예제

[status,msg,msgID] = fileattrib(filename,attribs,___) 는 지정된 파일 특성을 설정하고, 설정 작업에 실패한 경우 작업 상태뿐 아니라 오류 메시지와 오류 메시지 ID를 반환합니다.

예제

모두 축소

Windows 시스템에서, 현재 폴더가 C:\my_MATLAB_files라고 간주하고 현재 폴더의 특성을 확인합니다. 특성을 통해 사용자가 현재 폴더에 대해 읽기, 쓰기, 실행 권한을 갖고 있는지 확인할 수 있습니다.

fileattrib
            Name: 'C:\my_MATLAB_files'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

Windows 시스템에서 파일 myfile.m의 특성을 확인합니다. 이 특성은 지정된 항목이 파일임을 나타냅니다. 파일을 읽고 실행할 수 있지만 업데이트할 수는 없습니다. 파일에 보관(Archive) 특성이 설정되어 있습니다.

fileattrib myfile.m
            Name: 'C:\my_MATLAB_files\myfile.m'
         archive: 1
          system: 0
          hidden: 0
       directory: 0
        UserRead: 1
       UserWrite: 0
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

폴더 C:\my_MATLAB_files\doc의 특성을 확인합니다. 특성을 통해 사용자가 이 폴더에 대해 읽기, 쓰기, 실행 권한을 갖고 있는지 확인할 수 있습니다.

fileattrib C:\my_MATLAB_files\doc
ans = 

            Name: 'C:\my_MATLAB_files\doc'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

UNIX 시스템에서 폴더 /public에 대한 특성을 확인합니다. 특성을 통해 사용자가 이 폴더에 대해 읽기, 쓰기, 실행 권한을 갖고 있는지 확인할 수 있습니다. 여기서는 UNIX 사용자 그룹 내 사용자와 다른 모든 사용자가 이 폴더에 대해 읽기와 실행 권한은 가지고 있지만 쓰기 권한은 없음을 확인할 수 있습니다.

fileattrib /public
ans = 

            Name: '/public'
         archive: NaN
          system: NaN
          hidden: NaN
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: 1
      GroupWrite: 0
    GroupExecute: 1
       OtherRead: 1
      OtherWrite: 0
    OtherExecute: 1

myfile.m을 쓰기 가능하게 만듭니다.

fileattrib('myfile.m','+w')

UNIX 플랫폼에서 /home/work/results 폴더를 모든 사용자에 대한 읽기 전용 폴더로 만듭니다. 쓰기 특성 w 앞에 있는 마이너스(-)는 쓰기 액세스를 제거하여 파일을 읽기 전용으로 만듭니다.

fileattrib('/home/work/results','-w','a')

D:\work\results 폴더와 폴더의 모든 내용을 읽기 전용으로 만들고 숨깁니다. users 인수의 값은 Windows 시스템에서 적용되지 않으므로 users는 빈 문자형 벡터 ''로 지정됩니다. 's' 인수는 폴더의 내용과 폴더 자체에 숨김 특성과 쓰기 액세스 특성을 적용합니다.

fileattrib('D:\work\results','+h -w','','s')

results 폴더의 특성을 가져오고 이를 구조체로 반환합니다. status 값이 1이면 작업이 성공했음을 나타냅니다. 구조체 values에는 폴더의 특성이 포함됩니다.

[status,values] = fileattrib('results')
status =
     1

values = 
            Name: 'D:\work\results'
         archive: 0
          system: 0
          hidden: 0
       directory: 1
        UserRead: 1
       UserWrite: 1
     UserExecute: 1
       GroupRead: NaN
      GroupWrite: NaN
    GroupExecute: NaN
       OtherRead: NaN
      OtherWrite: NaN
    OtherExecute: NaN

구조체의 이름 특성 값에 액세스합니다. MATLAB®results의 경로를 반환합니다.

values.Name
ans =
D:\work\results

이름이 new로 시작되는 현재 폴더의 모든 파일에 대한 특성을 가져옵니다. 반환되는 1x3 구조체형 배열 values는 세 개의 일치하는 파일이 있음을 나타냅니다.

[status,values] = fileattrib('new*')
status =
     1

values = 
1x3 struct array with fields:
    Name
    archive
    system
    hidden
    directory
    UserRead
    UserWrite
    UserExecute
    GroupRead
    GroupWrite
    GroupExecute
    OtherRead
    OtherWrite
    OtherExecute

파일 이름을 확인합니다.

values.Name
ans =
D:\work\results\newname.m

ans =
D:\work\results\newone.m

ans =
D:\work\results\newtest.m

두 번째 파일 이름만 확인합니다.

values(2).Name
ans =
D:\work\results\newname.m

파일 특성 설정 시도가 성공한 경우에 나타나는 출력을 표시합니다. status1은 설정 작업이 성공했음을 나타냅니다. 따라서 오류 msg 또는 msgID가 반환되지 않습니다.

[status,msg,msgID] = fileattrib('C:\my_MATLAB_files\doc',...
'+h -w','','s')
status =

     1

msg =

     ''

msgID =

     ''

파일 특성 설정 시도에 실패한 경우에 나타나는 출력을 표시합니다. status0은 설정 작업이 실패했음을 나타냅니다. 마이너스 기호가 w 앞이 아니라 뒤에 잘못 표시되었습니다. msg는 발생한 오류에 대해 설명하고 msgID에는 발생한 오류의 메시지 ID가 포함됩니다.

[status,msg,msgID] = fileattrib('C:\my_MATLAB_files\doc',...
'+h w-','','s')
status =

     0


msg =

Illegal file mode characters on the current platform.


msgID =

MATLAB:FILEATTRIB:ModeSyntaxError

입력 인수

모두 축소

파일 또는 폴더 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 절대 경로나 상대 경로를 지정할 수 있습니다. filename은 와일드카드(*)를 포함할 수 있습니다.

예: fileattrib('myfile.m')

데이터형: char | string

파일 또는 폴더 특성 값으로, 다음 값 중 하나 이상이 공백으로 구분되어 포함된 문자형 벡터 또는 string형 스칼라로 지정됩니다.

설명

'a'

보관 파일(Microsoft® Windows 플랫폼에만 해당).

'h'

숨겨진 파일(Windows 플랫폼에만 해당)

's'

시스템 파일(Windows 플랫폼에만 해당)

'w'

쓰기 액세스(Windows 및 UNIX 플랫폼) 결과는 플랫폼과 애플리케이션마다 다릅니다. 예를 들어, fileattrib로 폴더에 대한 "쓰기" 권한을 비활성화하고 읽기 전용으로 전환한 경우에도 일부 플랫폼 또는 애플리케이션에 대해 해당 폴더의 파일이 쓰기 가능할 수 있습니다.

'x'

실행 가능합니다(UNIX 플랫폼에만 해당).

설정할 특성 앞에 플러스(+) 한정자를 사용하고 지울 특성 앞에 마이너스(-) 한정자를 사용합니다.

예: fileattrib('myfile.m', '+w -h')

데이터형: char | string

사용자의 서브셋(UNIX 플랫폼에만 해당)으로, 다음 값 중 하나로 지정됩니다.

UNIX 시스템의 값

설명

'a'

모든 사용자

'g'

사용자 그룹

'o'

모든 다른 사용자

'u'

현재 사용자

UNIX 이외의 다른 모든 플랫폼에서는 빈 값 ''을 지정해야 합니다. 이 값은 fileattrib get 작업에 의해 반환되지 않습니다.

예: fileattrib('/home/work/results','-w','a')

출력 인수

모두 축소

특성 설정 또는 가져오기 시도의 성공 여부 표시로, 0 또는 1로 지정됩니다. 특성 설정 또는 가져오기 시도에 성공한 경우 status1이 됩니다. 그렇지 않으면 status0이 됩니다.

특성 구조체로, 다음과 같은 필드와 가능한 값이 포함된 구조체형 배열로 지정됩니다.

필드 이름가능한 값
Name파일 또는 폴더의 이름을 포함하는 문자형 벡터
archive0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
system0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
hidden0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
directory0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
UserRead0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
UserWrite0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
UserExecute0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
GroupRead0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
GroupWrite0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
GroupExecute0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
OtherRead0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
OtherWrite0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)
OtherExecute0(설정되지 않음), 1(설정됨) 또는 NaN(해당 없음)

참고

Windows 시스템에서, 쓰기 액세스 특성('w')을 읽기 전용으로 설정할 경우 반드시 쓰기 액세스가 금지되는 것은 아닙니다. 따라서 UserWrite의 값이 예상한 것과 다를 수 있습니다.

오류 메시지로, 문자형 벡터로 지정됩니다. status0이면 msg는 오류 메시지 텍스트를 포함합니다. status1이면 msg는 비어 있습니다('').

오류 메시지 ID로, 문자형 벡터로 지정됩니다. status0이면 msgID는 오류 메시지 ID를 포함합니다. status1이면 msgID는 비어 있습니다('').

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | | | | |