일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 아이폰 TV
- .NET
- 아이폰 벨소리
- 맥
- 사진
- DropBox
- 아이폰 DMB
- ipad
- 야경
- injection
- runtastic
- 아이폰 어플
- MobileRss
- 닷넷
- 아이패드
- IT
- 맥북
- 인젝션
- reeder
- iPhone
- 아이폰4
- 부트캠프
- 아이패드 어플
- 아웃룩
- iphone os 4
- 파리
- 아이폰
- ios 5
- 아이패드 한글
- Today
- Total
TODD 의 사과농장
Forfiles 명령어 본문
디스크에 쌓인 로그 파일을 주기적으로 정리하려는 과정에, 일정기간이 경과한 로그를 삭제하는 방법을 찾았습니다.
DEL 명령어로는 날짜 인수를 넣을 수 없었는데, Forfiles 명령어에서는 가능하네요.
( Windows 2003, 7 2008 에서 가능합니다. 이하 버젼에서는 추가로 다운로드해야함. )
아래의 예문은 Log 디렉토리에 15일이 경과한 .log 확장자의 파일을 모두 삭제하는 명령어입니다.
좀 더 자세한 내용은 아래의 테크넷 정보를 참고하세요.
Forfiles
폴더나 트리에서 일괄 처리할 파일을 선택합니다.
구문
forfiles [/pPath] [/mSearchMask] [/s] [/cCommand] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]
매개 변수
- /pPath
- 검색을 시작할 Path를 지정합니다. 기본 폴더는 현재의 작업 디렉터리이며 마침표(.)를 입력하여 지정합니다.
- /mSearchMask
- SearchMask에 따라 파일을 검색합니다. 기본 SearchMask는 *.*입니다.
- /s
- forfiles가 하위 디렉터리에서 검색하도록 지정합니다.
- /cCommand
- 각 파일에 대해 지정된 Command를 실행합니다. 공백이 있는 명령 문자열은 따옴표로 묶어야 합니다. 기본 Command는 "cmd /c echo @file"입니다.
- /d[{+ | -}] [{MM/DD/YYYY | DD}]
- 지정된 날짜나 이후(+) 날짜 또는 이전(-) 날짜의 파일을 선택합니다. 여기서 MM/DD/YYYY는 지정된 날짜이고 DD는 현재 날짜에서 DD일을 뺀 날짜입니다. + 또는 -를 지정하지 않으면 +가 사용됩니다. DD의 유효 범위는 0 - 32768입니다.
- /?
- 명령 프롬프트에 도움말을 표시합니다.
설명
- Forfiles는 배치 파일에서 가장 일반적으로 사용되는 명령입니다.
- Forfiles는 dir /s와 유사합니다.
- 다음 표는 /cCommand 명령 문자열에서 사용할 수 있는 변수 목록을 보여 줍니다.
변수 설명 file
파일 이름
@fname
확장명을 제외한 파일 이름
@ext
파일 확장명
@path
파일의 전체 경로
@relpath
파일의 상대 경로
@isdir
파일 형식이 디렉터리이면 TRUE이고 그렇지 않으면 FALSE입니다.
@fsize
파일 크기(바이트)
@fdate
마지막으로 수정한 파일의 날짜 스탬프
@ftime
마지막으로 수정한 파일의 시간 스탬프
- Forfiles를 사용하면 여러 파일에 대해 명령을 실행하거나 여러 파일로 인수를 전달할 수 있습니다. 예를 들어 트리에서 확장명이 *.txt인 모든 파일에 대해 TYPE 명령을 실행할 수 있습니다. 또는 "Myinput.txt" 파일을 첫 번째 인수로 사용하여 C:\ 드라이브의 모든 배치 파일(*.bat)을 실행할 수 있습니다.
- Forfiles를 사용하여 다음 작업 중 하나를 수행할 수 있습니다.
- /d를 사용하여 절대 또는 상대 날짜별로 파일을 선택합니다.
- @fsize(파일 크기)와 @fdate(파일 날짜) 같은 변수를 사용하여 파일의 보관 트리를 작성합니다.
- @isdir 변수를 사용하여 파일을 디렉터리와 구분합니다.
- 명령줄에 특수 문자를 포함시키고 16진수 코드 0xHH로 문자를 묶어 출력 형식을 지정합니다.
- /d를 사용하여 절대 또는 상대 날짜별로 파일을 선택합니다.
- Forfiles는 파일 하나만 처리하도록 디자인된 도구에 대해 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"
C: 드라이브에 있는 100일 이상된 모든 파일의 목록을 표시하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m*.* /dt-100 /c"cmd /c echo @file : date >= 100 days"
C: 드라이브에 있는 1993년 1월 1일 이전의 모든 파일을 나열하고 해당 파일에 대해 "file is quite old!"를 표시하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m*.* /dt-01011993 /c"cmd /c echo @file is quite old!"
C: 드라이브에 있는 모든 파일의 확장명을 열 형식으로 나열하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09" With:
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"
C: 드라이브에 있는 100일 이상된 모든 파일의 목록을 표시하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m *.* /d t-100 /c "cmd /c echo @file : date >= 100 days"
C: 드라이브에 있는 1993년 1월 1일 이전의 모든 파일을 나열하고 해당 파일에 대해 "file is quite old!"를 표시하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"
C: 드라이브에 있는 모든 파일의 확장명을 열 형식으로 나열하려면 다음과 같이 입력합니다.
forfiles /p c:\ /s /m*.* /c "cmd /c echo extension of @file is 0x09@ext0x09"
'ETC' 카테고리의 다른 글
파이썬 강좌 모음 // python 장고(django) (0) | 2016.04.16 |
---|---|
ipTIME 유무선 공유기 취약점 보안 업데이트 권고 (0) | 2014.04.18 |
스타트업 준비 #1 - Microsoft BizSpark (0) | 2014.04.18 |
SSD 수명 논란은 의미없는 것인가... (1) | 2012.04.09 |
Windows 7 에서 SK브로드밴드 B TV 공유하는 방법 (16) | 2012.03.09 |
티스토리 초대장 배포합니다. (종료) (33) | 2011.09.23 |
Windows 8 Preview 버젼을 USB 로 설치하는 방법 ( 다른 윈도우도 가능 ) (6) | 2011.09.15 |
Windows 8 다운로드 (개발자 프리뷰 버젼) (1) | 2011.09.15 |
구독중인 RSS 리스트 ( 추천 RSS ) (1) | 2011.07.21 |
한용운 - 인연설 (2장) (2) | 2010.11.12 |