[Windows] batch파일 이용해서 파일 자동으로 삭제하기
- Project/iRT
- 2020. 3. 10.
컴퓨터를 개발용도로 사용하다 보면 불필요한 로그 파일이나 트레이스 파일이 쌓일때 주기적으로 지워줘야 할때가 생긴다. 그럴때 파일을 삭제하는 배치파일을 만들어 작업스케줄러에 등록하면 자동으로 파일을 삭제되게 할 수 있다.
우선 배치파일을 아에 모르면 아래 포스팅을 참조하라
https://deftkang.tistory.com/142
파일삭제하는 batch파일 명령어 FORFILES
FORFILES /P 삭제할 파일 경로 /M 삭제할 파일 /D 며칠 지난거 삭제할 건지 /C 실제 삭제하는 명령어
사실 FORFILES는 단순히 파일을 어떤 명령어로 실행시키는 작업을 하는 것이다. 그 실행시키는 명령어는 /C 뒤에 정의되고 거기에 삭제하는 명령어를 써야 삭제가 된다.
사용예제
FORFILES /P D:\oradata\RBM2\admin\bdump /M *.trc /D -3 /C "cmd /c IF @isdir==FALSE (DEL @file) ELSE (RMDIR /Q /S @file)"
위 사용예제는 오라클 트레이스 파일을 삭제하기 위한 예제이다. 용량을 크게 잡아먹는 bdump가 생성돼 정기적으로 삭제 하게 하려고 만들었다.
/C 뒤에 진짜 실행시킬 명령어를 기입하는 것이다 cmd /c 로 시작하고 실행할 명령어를 쓴다.
IF @isdir==FALSE (DEL @file)는 만약 파일이 존재한다면 파일을 삭제하고 ELSE (RMDIR /Q /S @file)은 그게 아니라면 디렉토리를 삭제하라는 뜻이다 옵션 /Q 는 디렉토리 안의 하위 파일들을 다 삭제하는 것이고 /S 는 삭제하는 과정에서 문제가 생기지 않는다면 아무것도 묻지 말라는 옵션이다.
이렇게 배치파일을 만들고 작업 스케줄러에 등록하면 매일 주기적으로 파일을 삭제해 더이상 신경을 안써도 된다.
참고 : https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/forfiles
'Project > iRT' 카테고리의 다른 글
[Oracle] 다른 DB인데 똑같은 테이블일때 데이터 쉽게 옮기는 법(DB 링크 사용법) (0) | 2020.04.08 |
---|---|
[Oracle] ORA-54033 오류해결방법, 컬럼 수정이 안될때 (0) | 2020.03.11 |
[Oracle] DELETE와 TRUNCATE 차이점 (0) | 2020.02.24 |
[Oralce] DB 백업(덤프) 하는 방법(exp, expdp툴 사용) (6) | 2020.02.14 |
[Window] 배치파일(*.bat)로 파일 백업하기 (2) | 2020.02.13 |