Forfiles를 사용하여 연령을 기준으로 파일 처리

때로는 명령을 처리하는 것이 더 쉽기 때문에 항상 명령 행 마술을 아는 것이 좋습니다.

이 안내서는 Windows Vista 및 Windows 7의 Forfiles 명령을 보여줍니다 (업데이트 : 최신 버전의 Windows에서도 사용 가능).

Forfile은 이름, 파일 확장자 및 연령을 기준으로 파일을 처리 할 수 ​​있습니다. 예를 들어 20 일이 지난 디렉토리의 모든 문서 또는 특정 날짜 이후 변경된 c : \ documents의 모든 문서를 찾을 수 있습니다.

forfiles 명령을 처리 옵션과 결합하여 해당 파일을 삭제하거나 필터와 일치하는 모든 파일 목록을 작성할 수 있습니다. forfiles 명령을 자세히 살펴 보겠습니다.

FORFILES [/ P 경로 이름] [/ M 검색 마스크] [/ S] [/ C 명령] [/ D [+ | -] dd / MM / yyyy]

설명 : 파일 (또는 파일 세트)을 선택하고 해당 파일에서 명령을 실행합니다. 배치 작업에 유용합니다.

파라미터 목록 :

  • / P pathname 검색을 시작할 경로를 나타냅니다. 기본 폴더는 현재 작업 디렉토리 (.)입니다.
  • / M searchmask 검색 마스크에 따라 파일을 검색합니다. 기본 검색 마스크는 '*'입니다.
  • / S 파일이 하위 디렉토리로 재귀하도록 지시합니다. "DIR / S"처럼.
  • / C 명령 각 파일에 대해 실행할 명령을 나타냅니다. 명령 문자열은 큰 따옴표로 묶어야합니다. 기본 명령은 "cmd / c echo @file"입니다.

명령 문자열에 다음 변수를 사용할 수 있습니다.

  • @file-파일 이름을 반환합니다.
  • @fname-확장자없이 파일 이름을 반환합니다.
  • @ext-파일의 확장자 만 반환합니다.
  • @path-파일의 전체 경로를 반환합니다.
  • @relpath-파일의 상대 경로를 반환합니다.
  • @isdir-파일 형식이 디렉토리이면 "TRUE"를 반환하고 파일에 대해서는 "FALSE"를 반환합니다.
  • @fsize-파일 크기를 바이트 단위로 반환합니다.
  • @fdate-파일의 마지막 수정 날짜를 반환합니다.
  • @ftime-파일의 마지막 수정 시간을 반환합니다.

명령 행에 특수 문자를 포함 시키려면 0xHH 형식의 문자 (예 : 탭의 경우 0x09)의 16 진 코드를 사용하십시오. 내부 CMD.exe 명령 앞에는 "cmd / c"가 있어야합니다.

/ D date "dd / MM / yyyy"형식을 사용하여 지정된 날짜보다 크거나 같은 (+) 또는 (-)보다 작거나 같은 마지막 수정 날짜를 가진 파일을 선택합니다. 또는 마지막 수정 날짜가 현재 날짜에 "dd"일을 더한 값보다 크거나 같은 (+) 또는 현재 날짜에서 "dd"일을 뺀 값보다 작거나 같은 파일을 선택합니다. 유효한 "dd"일 수는 0-32768 범위의 숫자 일 수 있습니다. 지정하지 않으면 "+"가 기본 부호로 사용됩니다.

/? 이 도움말 메시지를 표시합니다. forfiles /? 명령을 입력하면이 도움말 파일을 열 수 있습니다. 명령 프롬프트에서. Windows-R을 누르고 cmd를 입력 한 후 Enter 키를 눌러 Windows에서 명령 행을 실행하십시오.

파일 forfiles /P c:\test\ /M .doc /S /D -10 은 c : \ test 디렉토리와 모든 하위 디렉토리에서 .doc 확장자를 가진 파일이 10 일보다 오래된 파일을 검색합니다.

/ p 다음에 디렉토리가 오는 매개 변수는 시작 디렉토리를 정의하고 / s는 검색에 하위 디렉토리를 포함하고 / m은 입력 한 문자열을 기준으로 파일과 폴더를 필터링하며 / D는 날짜 또는 시간 범위를 정의합니다.

/ C 명령은 추가로 찾은 파일을 처리하는 데 사용됩니다. 예를 들어 다음 명령을 실행하는 데 사용할 수 있습니다. /C "cmd /c echo @fname" > test.txt 찾은 각 파일의 이름을 echo하고 같은 디렉토리에 text.txt의 결과를 저장하십시오.

전체 명령은 다음과 같습니다. forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

다른 가능성은 검색과 일치하는 파일을 삭제하는 것입니다. 이는 /C "cmd /c del @File 명령으로 수행됩니다.

그러나 올바른 파일 만 삭제되도록 delete 명령을 실행하기 전에 먼저 출력을 테스트하는 것이 좋습니다. 숙련 된 사용자는 배치 파일을 만들어 정기적으로 파일을 실행할 수 있습니다.