....
This commit is contained in:
139
DriveInfo/모듈/mod_DeleteM.vb
Normal file
139
DriveInfo/모듈/mod_DeleteM.vb
Normal file
@@ -0,0 +1,139 @@
|
||||
Imports System.IO
|
||||
Imports System.Threading
|
||||
Imports System.Data
|
||||
|
||||
Module Mod_DeleteM
|
||||
'Public Sub DeleteFile()
|
||||
' DeleteFileFromList()
|
||||
'End Sub
|
||||
|
||||
'Public Sub DeleteFileFromList() '//파일목록으로부터 삭제대상폴더의 파일을 삭제한다.
|
||||
' Dim FileList As New ArrayList
|
||||
' Dim FI() As FileInfo
|
||||
' Dim Di As DirectoryInfo
|
||||
|
||||
' If MsgBox("파일삭제작업을 진행하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "삭제확인") <> MsgBoxResult.Ok Then
|
||||
' MsgBox("취소되었습니다", MsgBoxStyle.Information, "확인")
|
||||
' Return
|
||||
' End If
|
||||
|
||||
' '//파일목록을 작성합니다.
|
||||
' MSG("삭제 진행중...")
|
||||
' MDiMain.pbar2.Minimum = 0
|
||||
' MDiMain.pbar2.Maximum = Ep
|
||||
' MDiMain.Refresh()
|
||||
|
||||
' Addlog2("삭제시작 줄번호 범위 " & SP & " ~ " & Ep, True)
|
||||
|
||||
' Dim NullCnt As Short = 0
|
||||
' Dim fn As String
|
||||
|
||||
' For i As Integer = SP To Ep
|
||||
' MDiMain.pbar2.Value = i
|
||||
' If i Mod 10 = 0 Then
|
||||
' MSG("삭제중 (" & i & "/" & Ep & ")")
|
||||
' MDiMain.Refresh()
|
||||
' End If
|
||||
|
||||
' fn = Frm_srcfile.Get_FileList(i + 1) & Mod_Comm.GetExtendFromMdi.Trim("*")
|
||||
' If fn.Trim <> "" Then
|
||||
' NullCnt = 0 '//파일을 삭제하는 루틴을 만든다.
|
||||
' Di = New DirectoryInfo(GetWorkDIr) '//경로선택
|
||||
' FI = Di.GetFiles(fn, GetSubdirType)
|
||||
' If FI.Length < 1 Then
|
||||
' addlog("X", fn, "", "파일없음")
|
||||
' End If
|
||||
|
||||
' For Each F As FileInfo In FI '//일치하는 모든 파일을 삭제한다.
|
||||
' If F.FullName.IndexOf("-원본") = -1 Then '//백업이 만들어놓은 폴더의 파일은 제낀다.
|
||||
' Fileok.Add(F.FullName) '//정상파일목록을 가진다.
|
||||
' addlog("O", F.FullName, "", "삭제")
|
||||
' If Mod_Comm.GetExeType Then ''//모의실행은 백업및 작업을 하지않는다.
|
||||
' '//백업정책을 확인해서 해당 파일을 백업할곳을 결정한다.
|
||||
' Check_Backup(F, BakTag)
|
||||
' F.Delete()
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
' Else
|
||||
' NullCnt += 1
|
||||
' If NullCnt = 5 Then '//빈줄이나올때 널카운트를 증가시키고 빈줄이 5번연속나올때는 빠져나온다.
|
||||
' Exit For
|
||||
' End If
|
||||
' End If
|
||||
' Next
|
||||
' Addlog2("삭제작업이 완료되었습니다")
|
||||
' 'Frm_Wait.Hide()
|
||||
'End Sub
|
||||
Public Sub DeleteFileM(Param As RunParam) '//파일목록으로부터 삭제대상폴더의 파일을 삭제한다.
|
||||
'//파일목록을 작성합니다.
|
||||
MDiMain.MSG("삭제목록 작성중...")
|
||||
|
||||
'//변수목록
|
||||
Dim NR As ireaDataSet.WorkListRow
|
||||
Dim WRow() As ireaDataSet.FileListRow
|
||||
Dim index As Integer = 0
|
||||
Dim endcnt As Integer = MDiMain.DataSet1.SrcList.Rows.Count - 1
|
||||
|
||||
'//ftp 여부 확인
|
||||
Dim isFTP As Boolean = False
|
||||
If GetWorkDIr.StartsWith("ftp:/") Then isFTP = True
|
||||
|
||||
|
||||
If MDiMain.DataSet1.SrcList Is Nothing Then
|
||||
MsgBox("원본목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
|
||||
For Each drs As ireaDataSet.SrcListRow In MDiMain.DataSet1.SrcList.Rows '//원본목록회전
|
||||
|
||||
If MDiMain.DataSet1.SrcList Is Nothing Then
|
||||
MsgBox("파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
|
||||
Return
|
||||
End If
|
||||
|
||||
index += 1
|
||||
Application.DoEvents()
|
||||
MDiMain.ShowCnt1(index, endcnt, "목록작성")
|
||||
'//전체목록에서 원본목록 검색
|
||||
WRow = MDiMain.DataSet1.FileList.Select("파일명 like '" & drs.목록명 & "'")
|
||||
If WRow.Length = 0 Then Addlog("X", drs.목록명, "", "파일없음")
|
||||
|
||||
For Each dr As ireaDataSet.FileListRow In WRow '//일치하는 목록들 작업목록에 집어넣는다.
|
||||
NR = MDiMain.DataSet1.WorkList.NewWorkListRow
|
||||
NR.원본경로 = dr.경로
|
||||
NR.원본파일명 = dr.파일명
|
||||
NR.구분 = "삭제"
|
||||
NR.대상경로 = dr.경로
|
||||
NR.대상파일명 = dr.파일명
|
||||
NR.오류 = ""
|
||||
If NR.대상파일명.IndexOf("*") = -1 AndAlso NR.대상파일명.IndexOf("?") = -1 Then
|
||||
Try
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
Catch ex As Exception '//추가오류는 뻔하다이미 그 파일이 있는경우다.
|
||||
NR.오류 = "중복된 삭제대상파일입니다(" & Format(Now, "HHmmss") & ")"
|
||||
MDiMain.DataSet1.WorkList.Rows.Add(NR)
|
||||
makelog2("중복된 삭제대상파일이 생성되었습니다")
|
||||
makelog2(" 파일명 : " & NR.원본경로 & "\" & NR.원본파일명)
|
||||
'If MsgBox("중복된 대상파일이 확인되었습니다" & vbCrLf & vbCrLf & "계속하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then
|
||||
' Return
|
||||
'End If
|
||||
End Try
|
||||
End If
|
||||
Next
|
||||
Next
|
||||
MDiMain.MSG("삭제목록 작성완료...")
|
||||
|
||||
'If GetExeType() Then '//실제실행일경우
|
||||
' DeleteFileR()
|
||||
'Else '//모의실행일경우
|
||||
' Addlog2("모의실행 : 실제 복사/이동/삭제는 수행되지 않습니다")
|
||||
' MsgBox("모의실행입니다" & vbCrLf & "실제파일의 복사/이동/삭제 는 수행되지 않습니다", MsgBoxStyle.Information, "확인")
|
||||
'End If
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Module
|
||||
Reference in New Issue
Block a user