Forfiles.exe 명령어 사용하여 파일 유지 관리

Posted by

Forfiles.exe 명령어 사용하여 파일 유지 관리

매일 쌓여가는 백업 파일 또는 로그파일을 정기적으로 관리 하고 싶을 때

Forfiles 명령을 사용 하면 아주 유용합니다.

왜냐? Forfiles 명령은 날짜 변수를 이용할 수 있고

이동 또는 삭제 옵션을 한 줄에 표현 살 수 있습니다.

아래 와 같이 백업 파일이 날짜 별로 있다고 가정합니다.

이 파일 들을 일주일 치만 남기고 특정 폴더로 이동 또는 삭제 할 수 있습니다.

forfiles /p “d:\webdata\arch” /s /m *.arc /d -3 /c “cmd /c del @path”

위 그림과 같이 날짜를 지정해서 삭제를 할 수 있습니다.

*옵션 설명

-p : 폴더 지정

-m : 파일 지정

-d : 날짜 지정

-c : 실행할 명령 지정.

– S : 서브디렉토리까지 포함해서 검색

파일을 이동할 경우는 아래와 같이 뒤의 명령 부분을 바꾸 줍니다.

forfiles /p “d:\oradata\arch” /s /m *.arc /d -3 /c “cmd /c echo copy: @file && move @file E:\backupdata

일주일 치만 보관하고 삭제해 보겠습니다.

>forfiles /p “E:\ImageBackup\Wowza” /s /m *.* /d -7 /c “cmd /c del @path”

위 그림 처럼 일주일 이전의 파일은 삭제 되는 것을 확인 할 수 있습니다.

frofiles 명령어 사용 예제

D:\bakcup의 7일 지난 log파일 삭제

   forfiles /p D:\bakcup /M *.log /D -7 /C “CMD /C del @file”

D:\bakcup의 7일 지난 log파일을 E:\backcup로 이동

forfiles /P D:\bakcup /S /M *.log /D -7 /C “cmd /c echo copy: @file && move @file E:\backcup

D:\bakcup의 7일 지난 폴더를 폴더명으로 압축한다.

   forfiles /P D:\bakcup /D -7 /C “cmd /c zip -r @file.zip @file”

D:\bakcup의 7일 지난 폴더를 삭제한다.

   forfiles /P D:\bakcup /D -7 /C “cmd /c rmdir /s /q @file”

D:\bakcup의 에 한달 전에 생성된 log파일의 경로를 확인한다.

   forfiles /P D:\bakcup /S /M *.log /D -30 /C “cmd /c @echo @path”

Command 명령 문자열에서 사용할 수 있는 변수 목록

 변수설명 
  file  파일 이름
  @fname  확장명을 제외한 파일 이름
  @ext  파일 확장명
  @path  파일의 전체 경로
  @relpath  파일의 상대 경로
  @isdir  파일 형식이 디렉터리이면 TRUE이고 그렇지 않으면 FALSE입니다.
  @fsize  파일 크기(바이트)
  @fdate  마지막으로 수정한 파일의 날짜 스탬프
  @ftime  마지막으로 수정한 파일의 시간 스탬프

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다