forfiles

파일 또는 파일 집합에서 명령을 선택하고 실행합니다. 이 명령은 일괄 처리 파일에서 가장 일반적으로 사용됩니다.

구문

forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]

매개 변수

매개 변수 설명
/P <pathname> 검색을 시작 하는 경로 지정 합니다. 기본적으로 현재 작업 디렉터리에서 시작 검색 합니다.
/M <searchmask> 지정 된 검색 마스크에 따라 파일을 검색합니다. 기본 검색 마스크는 .입니다 *.
/S 하위 디렉터리에서 재귀적으로 검색하도록 forfiles 명령을 지시합니다.
/C <command> 각 파일에 지정된 된 명령을 실행합니다. 명령 문자열은 큰따옴표로 묶어야 합니다. 기본 명령은 .입니다 "cmd /c echo @file".
/D [{+\|-}][{<date> | <days>}] 지정된 시간 프레임 내에 마지막으로 수정된 날짜가 있는 파일을 선택합니다.
  • 마지막으로 수정한 날짜가 지정된 날짜보다 늦거나 같+거나 ()와 같거나 같은- 파일을 선택합니다. 여기서 날짜 는 MM/DD/YYYY 형식입니다.
  • 마지막으로 수정한 날짜가 현재 날짜보다 늦거나 같거나 같은+ 파일을 선택하고, 현재 날짜보다 같거나() 지정된 일 수를 뺀 날짜보다 같거나- 같은 파일을 선택합니다.
  • 유효한 일은 0~32,768 범위의 숫자를 포함합니다. 기호가 없으면 지정 된 경우 + 기본적으로 사용 됩니다.
/? cmd 창에 도움말 텍스트를 표시합니다.

설명

  • forfiles /S 명령은 . 명령과 dir /S비슷합니다.

  • /C 명령줄 옵션에 지정된 대로 명령 문자열에서 다음 변수를 사용할 수 있습니다.

    변수 설명
    @FILE 파일 이름입니다.
    @FNAME 확장명 없이 파일 이름입니다.
    @EXT 파일 이름 확장명입니다.
    @PATH 파일의 전체 경로입니다.
    @RELPATH 파일의 상대 경로입니다.
    @ISDIR 파일 형식을 디렉터리 이면 TRUE로 평가 합니다. 그렇지 않은 경우이 변수를 FALSE로 평가합니다.
    @FSIZE 파일 크기 (바이트)에서입니다.
    @FDATE 파일에 마지막으로 수정한 날짜 스탬프입니다.
    @FTIME 파일의 마지막 수정된 타임 스탬프입니다.
  • forfiles 명령을 사용하면 명령을 실행하거나 인수를 여러 파일에 전달할 수 있습니다. 예를 들어, 실행할 수는 형식 .txt 파일 이름 확장명을 사용 하 여 트리의 모든 파일에서 명령입니다. 또는 파일 이름 Myinput.txt를 첫 번째 인수로 사용하여 C 드라이브의 모든 일괄 처리 파일(*.bat)을 실행할 수 있습니다.

  • 이 명령은 다음을 수행할 수 있습니다.

    • 파일을 사용 하 여 절대 날짜 또는 상대 날짜 선택은 /d 매개 변수입니다.

    • 와 같은 @FSIZE@FDATE변수를 사용하여 파일의 보관 트리를 빌드합니다.

    • 변수를 사용하여 디렉터리에서 파일을 구분합니다 @ISDIR .

    • 문자, 0 x에 대 한 16 진수 코드를 사용 하 여 명령줄에 특수 문자를 포함HH 형식 (예: 탭에는 0x09).

  • 이 명령은 단일 파일만 처리하도록 설계된 도구에서 플래그를 구현 recurse subdirectories 하여 작동합니다.

예제

C 드라이브에 배치 파일의 모든를 나열 하려면 다음을 입력 합니다.

forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"

C 드라이브에 있는 디렉터리를 나열 하려면 다음을 입력 합니다.

forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"

현재 디렉터리에 있는 파일을 적어도 1 년 전의 모든를 나열 하려면 다음을 입력 합니다.

forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."

텍스트 파일이 2007년 1월 1일보다 오래된 현재 디렉터리의 각 파일에 대해 오래된 것으로 표시하려면 다음을 입력합니다.

forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."

열 형식으로 현재 디렉터리에 있는 모든 파일의 파일 이름 확장명을 나열 하 고 확장명 앞에 탭 추가 하려면 다음을 입력 합니다.

forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"