주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

dir

폴더 내용 나열

설명

dir은 현재 폴더에 있는 파일과 폴더를 나열합니다.

dir namename과 일치하는 파일과 폴더를 나열합니다. name이 폴더인 경우 dir은 폴더의 내용을 나열합니다. 와일드카드 ***를 사용하여 패턴을 일치시킬 수 있습니다. 예를 들어, dir *.mlx는 확장자가 .mlx인 모든 파일을 나열하고 dir **는 모든 하위 폴더의 파일을 포함합니다.

예제

listing = dir(name)은 특성(예: 각 파일 또는 폴더가 마지막으로 수정된 시간)을 구조체형 배열로 반환합니다.

예제

예제

모두 축소

myfolder가 현재 작업 폴더에 있고 세 개의 파일을 포함한다고 가정하겠습니다. 이 폴더의 내용을 나열합니다.

dir myfolder
.          ..         myfile1.ext  myfile2.ext  myfile3.ext

myfolder로 이동하여 파일 이름에 2가 있고 확장자가 .ext인 파일을 나열합니다.

cd myfolder
dir *2*.ext
myfile2.ext

재귀적 검색 와일드카드 **를 사용하여 현재 폴더와 그 하위 폴더들에 있는 파일을 나열합니다.

현재 폴더에 다음 내용이 있다고 가정하겠습니다.

file1.ext
folder2
     file2.ext
     folder3
         file3.ext

계층 구조의 모든 파일을 나열합니다.

dir **
Files Found in Current Folder:

.          ..         file1.ext  folder2  

Files Found in: folder2

.          ..         file2.ext  folder3  

Files Found in: folder2/folder3

.          ..         file3.ext  

여러 개의 파일에 대한 세부 정보를 처리하는 경우 출력 구조체를 테이블로 변환하는 것이 도움이 되는 경우가 많습니다.

현재 폴더에 다음 내용이 있다고 가정하겠습니다.

file1.ext
folder2
     file2.ext
     folder3
         file3.ext

** 와일드카드를 사용하여 전체 계층 구조에 대한 세부 정보를 요청합니다. 출력값은 구조체형 배열입니다. date 필드는 char 유형이고, datenum 필드는 날짜 일련 번호 값입니다.

listing = dir("**")
listing = 

  11x1 struct array with fields:

    name
    folder
    date
    bytes
    isdir
    datenum

구조체를 테이블로 변환하고 datedatetime형 값으로 바꿉니다.

tbl = struct2table(listing);
tbl.date = datetime(tbl.datenum,ConvertFrom="datenum");
tbl = removevars(tbl,"datenum")
tbl = 

  11x5 table

        name               folder                   date            bytes    isdir  
    _____________    ___________________    ____________________    _____    _____

    {'.'        }    {'/mycurrent'     }    01-Mar-2024 15:45:35      0      true
    {'..'       }    {'/mycurrent'     }    01-Mar-2024 15:44:10      0      true
    {'file1.ext'}    {'/mycurrent'     }    01-Mar-2024 15:45:45      8      false
    {'folder2'  }    {'/mycurrent'     }    01-Mar-2024 15:45:16      0      true 
    .
    .
    .

데이터의 서브셋을 찾기 위해 테이블의 요소를 참조합니다. 예를 들어, 폴더만 추출한 다음 . 폴더와 .. 폴더를 제외합니다.

folders = tbl(tbl.isdir,:);
namedFolders = folders(~matches(folders.name,[".",".."]),:)
namedFolders =

  2x5 table

        name                folder                  date             bytes    isdir
    ___________    ______________________    ____________________    _____    _____

    {'folder2'}    {'/mycurrent'        }    01-Mar-2024 15:45:16      0      true 
    {'folder3'}    {'/mycurrent/folder2'}    01-Mar-2024 15:44:58      0      true 

입력 인수

모두 축소

전체 경로 또는 상대 경로가 있는 파일 또는 폴더 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

원격 위치의 파일과 폴더의 경우 전체 경로를 URL(Uniform Resource Locator)로 지정해야 합니다. 인터넷 URL에는 프로토콜 유형 "http://" 또는 "https://"가 포함되어야 합니다. 자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

패턴을 검색하거나 여러 개의 폴더를 검색하려면 와일드카드 * 또는 **를 사용하십시오. dir 함수는 파일 이름에 *를 사용할 수 있는 파일 시스템에서도, * 문자를 항상 와일드카드로 처리합니다.

와일드카드

의미

*

*가 파일 이름 또는 폴더 이름의 일부인 경우 임의 개수의 문자를 나타냅니다. 예를 들어, dir *.mat는 현재 폴더의 모든 MAT 파일을 나열합니다.

*가 경로에 있고 파일 구분 기호 옆에만 존재한다면 계층 구조의 단일 수준을 나타냅니다. 예를 들어, dir */*.mat는 현재 폴더의 정확히 한 단계 아래 폴더의 MAT 파일을 나열합니다.

**

**는 하위 폴더 전체의 재귀적 검색을 나타냅니다. 예를 들어, dir **는 현재 폴더와 모든 수준의 하위 폴더에 있는 파일을 나열합니다. ** 와일드카드 옆에 문자를 지정하는 경우 그 문자는 파일 구분 기호여야 합니다

Microsoft® Windows® 시스템에서 dir은 바로 가기 파일(.lnk)뿐만 아니라 DOS가 생성한 짧은 파일 이름도 지원합니다.

출력 인수

모두 축소

파일 특성으로, n×1 구조체형 배열로 반환됩니다. 여기서 nname과 일치하는 파일과 폴더의 개수입니다.

구조체에는 다음 필드가 있습니다.

필드 이름

설명

클래스

name

파일 또는 폴더 이름

char

folder

파일 위치 또는 폴더 위치

char

date

수정 날짜 타임스탬프

char

bytes

파일의 크기(단위: 바이트)

double

isdir

name이 폴더이면 1, name이 파일이면 0

logical

datenum

날짜 일련 번호 값 형식의 수정 날짜

double

인터넷 URL의 경우 파일 크기 정보를 사용할 수 없으면 bytes 필드는 NaN입니다.

제한 사항

  • MATLAB®은 인증을 요하는 인터넷 URL을 지원하지 않습니다.

  • MATLAB Online™은 Microsoft OneDrive™ 파일 및 폴더와 연결된 인터넷 URL을 지원합니다. 반면 설치된 MATLAB에서는 로컬 OneDrive 파일만 지원합니다.

  • dir이 파일을 쿼리할 수 없으면 출력 구조체로 다음의 디폴트 값을 반환합니다.

    date: '' 
    bytes: [] 
    isdir: 0 
    datenum: [] 
    

    이 문제는 이동됐거나, 제거됐거나 또는 이름이 변경된 대상을 가리키는 기호화된 링크를 쿼리할 때 가장 흔히 발생합니다. 이러한 유효하지 않은 항목을 제외하려면 구조체를 테이블로 변환하고 빈 값이 있는 행을 제거하면 됩니다.

    listing = struct2table(dir); 
    listing(isempty(listing.bytes),:) = [];
    
  • Microsoft Windows 플랫폼에서 사용 가능한 드라이브 목록을 가져오려면 DOS net use 명령을 사용하십시오.

    dos("net use")

확장 기능

모두 확장

버전 내역

R2006a 이전에 개발됨

모두 확장