程序代码 Dim 总字节 As Long Dim 字节缓存 As Long Dim 开始 As Long Dim 结束 As Long Dim 文件个数 As Integer Dim 文件编号 As Integer Private Sub 数据还原() List1.Clear 总字节 = 0 字节缓存 = 0 开始 = 0 结束 = 0 文件个数 = 0 文件编号 = 0 End Sub Private Sub 批量拆分_Click() '批量拆分 Call 数据还原 '-------------------------------------------------------获取文件大小 Const sFile As String = "F:\巨浪网络\二进制系列\1.exe" 总字节 = Val(FileLen(sFile)) 字节缓存 = 总字节 '-------------------------------------------------------获取文件大小 '-------------------------------------------------------计算文件分割个数 1: If 字节缓存 > 28200 Then '分割大小为51200个字节(相当于30KB的大小) 开始 = 结束 结束 = 开始 + 28200 字节缓存 = 字节缓存 - 28200 List1.AddItem "[" & 开始 + 1 & "][" & 结束 & "]" If 字节缓存 > 28200 Then GoTo 1: End If List1.AddItem "[" & 结束 + 1 & "][" & 总字节 & "]" '-------------------------------------------------------计算文件分割个数 '-------------------------------------------------------分割过程 For 文件个数 = 0 To List1.ListCount - 1 开始 = Val(Split(Split(List1.List(文件个数), "[")(1), "][")(0)) 结束 = Val(Split(Split(List1.List(文件个数), "][")(1), "]")(0)) Dim abc() As Byte '声名数组 Open "F:\巨浪网络\二进制系列\分割后的文件\" & 文件个数 & ".exe" For Binary As #1 Open "F:\巨浪网络\二进制系列\1.exe" For Binary As #2 ReDim abc(开始 To 结束) '定义数组范围 Get #2, 开始, abc Put #1, , abc Close #2 Close #1 Next 文件个数 '-------------------------------------------------------分割过程 End Sub Private Sub 批量合并_Click() '批量合并 On Error Resume Next Dim abc() As Byte '声名数组 File1.Path = "F:\巨浪网络\二进制系列\分割后的文件\" '利用FileListBox控件为取文件总数作准备 For 文件编号 = 0 To File1.ListCount Open "F:\巨浪网络\二进制系列\合并后的文件\新文件.exe" For Binary As #1 '指定合并后的路径 Open "F:\巨浪网络\二进制系列\合并后的文件\新文件.exe" For Binary As #2 '以二进制打开文件,将二进制保存到#2 Open "F:\巨浪网络\二进制系列\分割后的文件\" & 文件编号 & ".exe" For Binary As #3 '以二进制打开文件,将二进制保存到#3 ReDim abc(1 To LOF(2)) '定义数组范围,LOF(2)为#2文件的大小 Get #2, , abc '将#2保存到数组abc中 Put #1, , abc '将数组abc保存到"c:\c.exe" ReDim abc(1 To LOF(3)) '定义数组范围,LOF(3)为#3文件的大小 Get #3, , abc '将#3保存到数组abc中 Put #1, , abc '将数组abc叠加保存到"c:\c.exe" Close #3 Close #2 Close #1 DoEvents Next 文件编号 End Sub
所有评论均为人工审核,请勿浪费时间!