논리 문제가 있습니다. 더 많은 두뇌가 필요합니다.DotNetZip 루프 논리에 대한 논리 도움말
For Each JobNode In JobNodes
Dim Source = JobNode.SelectNodes("Source")
For Each item As System.Xml.XmlNode In Source
Dim infoReader As System.IO.FileInfo
''''Discerns whether a file or directory
If item.InnerText.Contains(".") Then 'is a file
If Dir$(item.InnerText) <> vbNullString Then
mySize += FileLen(item.InnerText)
End If
zip.AddFile(item.InnerText, "")
Dim numFiles2 = filenames.Count
mySize = BytesTO(mySize, convTo.MB)
Console.WriteLine("...Added all " & numFiles2 & " files. Total loose file collection size is " & Math.Round(mySize, 2) & " MB")
Console.WriteLine(vbCrLf)
Else 'is a directory
zip.AddDirectory(item.InnerText, GetLastDirName(item.InnerText & " "))
Dim dinfo As New DirectoryInfo(item.InnerText)
Dim sizeOfDir As Long = DirectorySize(dinfo, True)
Dim numFiles As Integer = CountFiles_FolderAndSubFolders(item.InnerText)
Console.WriteLine("...Added all " & numFiles & " files. Total directory size is {0:N2} MB", (CDbl(sizeOfDir))/(1024 * 1024))
Console.WriteLine(vbCrLf)
End If
Next
이것은 내가 작성한 백업 프로그램의 일부입니다. 이것은 zip에 추가 될 오브젝트가 파일 (IF 문의 첫 번째 부분)인지 디렉토리 (IF 문의 ELSE 부분)인지 여부를 판별하는 부분입니다.
Dim numFiles2 = filenames.Count
mySize = BytesTO(mySize, convTo.MB)
Console.WriteLine("...Added all " & numFiles2 & " files. Total loose file collection size is " & Math.Round(mySize, 2) & " MB")
Console.WriteLine(vbCrLf)
을 그냥 zip.AddFile(item.innertext,"")
부분 후 :
내 문제는이 코드를 추가하기 위해 노력하고있다. 정보를 콘솔 출력 할 수 있도록 추가하고 싶습니다.
문제는 단지 zip.addfile()
다음에 바로 입력하면 매번 바로 위에 코드가 출력된다는 것입니다. 난 단지 그것이이 느슨한 모든 파일을 추가 완료 (또는 파일 zip.AddFile()
을 사용하여 추가)하면 (바로 위에) 그 부분을 인쇄 할
편집 : 더 명확한 설명을 위해 상단 루프에 대한 추가
변경 될 수있는 한 가지 사실은 For 문을 사용한다는 사실입니다. 위의 편집을 확인하십시오 – MaylorTaylor
사실 그것이 정확히 당신이 그것을 할 수도 있다고 생각합니다. 내 대답의 'After loop iteration' 섹션을 내부 루프 뒤의 외부 루프 본문에 추가합니다. –
완료되었습니다. 고마워요. 나는 결코 그런 것을 할 필요가 없었지만 그것은 합리적입니다. – MaylorTaylor