windows os 의 oracle 환경에서
cmd 스크립트를 이용한 아카이브 파일 삭제하는 방법 입니다.
아카이브 삭제 파일 실행 스크립트
— deloldfile.cmd
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
@echo off REM ↘ 지식파일 설명 REM 윈도우즈에서 특정 날짜 이전에 생성된 디렉토리를 삭제하는 스크립트입니다. REM (사용예) delolddir.cmd [디렉토리경로] [삭제일] REM C:\logdir 디렉토리 내에 30일 이전에 생성된 디렉토리를 삭제하고자 한다면.. REM > delolddir.cmd C:\logdir -30 REM (주의1: 위와 같이 실행할 경우 C:\logdir 디렉토리의 하위 디렉토리 중 30 일 이전에 생성된 디렉토리는 모두 삭제되니 주의하셔서 테스트 하시기 바랍니다.) REM REM ↘ 하고싶은 말 | 홍보문구, 매뉴얼 REM 주기적으로 로그화일이 생성되는 디렉토리를 일정량만 유지 관리하고자 할 때 사용하실 수 있습니다. REM 윈도우즈 예약작업에 등록하여 하루에 한번 실행되도록 하면 원하는 분량의 디렉토리 화일만 유지할 수 있겠죠.. set vbfile=_delolddir.vbs echo Option Explicit > %vbfile% echo Dim objFS, objRoot, objArgs >> %vbfile% echo Dim szRoot, szMsg, targetDiff >> %vbfile% echo Dim nRetVal >> %vbfile% echo set objFS = CreateObject( "Scripting.FileSystemObject" ) >> %vbfile% echo set objArgs = Wscript.Arguments >> %vbfile% echo If objArgs.Count ^>= 2 Then >> %vbfile% echo szRoot = objArgs.Item(0) >> %vbfile% echo targetDiff = objArgs.Item(1) >> %vbfile% echo Else >> %vbfile% echo szMsg = "지울 파일이 있는 디렉토리명과 삭제일을 지정해주지 않았습니다." >> %vbfile% echo szMsg = szMsg ^& " 만약 3일 이전(정확히 3일째 파일 제외) 파일을 삭제하려면 -3 을 입력하시면 됩니다." >> %vbfile% echo szMsg = szMsg ^& " 실제로 삭제되니 충분히 테스트 한 후 사용하시기 바랍니다. (정말 주의 바람 복구 안됨)" >> %vbfile% echo Wscript.Echo szMsg >> %vbfile% echo Wscript.Quit >> %vbfile% echo End If >> %vbfile% echo If objFS.FolderExists( szRoot ) then >> %vbfile% echo Dim objFolder >> %vbfile% echo Dim objFiles >> %vbfile% echo Dim objFile >> %vbfile% echo set objFolder = objFS.GetFolder( szRoot ) >> %vbfile% echo set objFiles = objFolder.files >> %vbfile% echo For each objFile in objFiles >> %vbfile% echo if IsObject( objFile ) Then >> %vbfile% echo nRetVal = DisplayFile( objFile ) >> %vbfile% echo end If >> %vbfile% echo Next >> %vbfile% echo End If >> %vbfile% echo Function DisplayFile( objFile1 ) >> %vbfile% REM echo If DateDiff("d", Now, CDate(objFile1.DateCreated)) ^< Int(targetDiff) Then >> %vbfile% echo If DateDiff("d", Now, CDate(objFile1.DateLastModified)) ^< Int(targetDiff) Then >> %vbfile% echo 'Wscript.Echo objFile1.Name >> %vbfile% echo objFile1.Delete >> %vbfile% echo End If >> %vbfile% echo End Function >> %vbfile% cscript //NoLogo //T:10 %vbfile% %1 %2 del %vbfile% @echo on |
이 수행 스크립트를 수행 시킬 스크립트
— delfile.cmd 파일 내용
1 |
call D:\작업\ppp\deloldfile.cmd c:\test -3 |