forfiles
파일 또는 파일 집합에서 명령을 선택하고 실행합니다. 이 명령은 배치 파일에서 가장 일반적으로 사용됩니다.
구문
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
매개 변수
매개 변수 | 설명 |
---|---|
/P <pathname> |
검색을 시작 하는 경로 지정 합니다. 기본적으로 현재 작업 디렉터리에서 시작 검색 합니다. |
/M <searchmask> |
지정 된 검색 마스크에 따라 파일을 검색합니다. 기본 searchmask는 * 입니다. |
/S | forfiles 명령이 하위 디렉터리를 재귀적으로 검색하도록 지시합니다. |
/C <command> |
각 파일에 지정된 된 명령을 실행합니다. 명령 문자열은 큰따옴표로 묶어야 합니다. 기본 명령은 "cmd /c echo @file" 입니다. |
/D [{+\|-}][{<date> | <days>}] |
지정된 기간 내에 마지막으로 수정된 날짜가 있는 파일을 선택합니다.
|
/? | cmd 창에 도움말 텍스트를 표시합니다. |
설명
forfiles /S
명령은dir /S
와 유사합니다./C 명령줄 옵션에서 지정된 대로 명령 문자열에 다음 변수를 사용할 수 있습니다.
변수 설명 @FILE 파일 이름입니다. @FNAME 확장명 없이 파일 이름입니다. @EXT 파일 이름 확장명입니다. @PATH 파일의 전체 경로입니다. @RELPATH 파일의 상대 경로입니다. @ISDIR 파일 형식을 디렉터리 이면 TRUE로 평가 합니다. 그렇지 않은 경우이 변수를 FALSE로 평가합니다. @FSIZE 파일 크기 (바이트)에서입니다. @FDATE 파일에 마지막으로 수정한 날짜 스탬프입니다. @FTIME 파일의 마지막 수정된 타임 스탬프입니다. forfiles 명령을 사용하면 여러 파일에서 명령을 실행하거나 인수를 전달할 수 있습니다. 예를 들어, 실행할 수는 형식 .txt 파일 이름 확장명을 사용 하 여 트리의 모든 파일에서 명령입니다. 또는 C 드라이브에서 모든 배치 파일(*.bat)을 실행할 수 있으며, 파일 이름은 Myinput.txt를 첫 번째 인수로 사용할 수 있습니다.
이 명령은 다음을 수행할 수 있습니다.
파일을 사용 하 여 절대 날짜 또는 상대 날짜 선택은 /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"