我正在做一个创建ISO文件的项目。基本上,ISO所需的所有文件都存储在临时目录中,只需要保存到ISO文件中即可。
我尝试了以下代码:
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim cdBuilder = New CDBuilder()
cdBuilder.UseJoliet = True
cdBuilder.VolumeIdentifier = TextBox1.Text
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
If SaveFileDialog1.FileName = "" Then
Else
For Each dr In My.Computer.FileSystem.GetDirectories(My.Computer.FileSystem.SpecialDirectories.Temp & "TempISODir")
Next
cdBuilder.Build(SaveFileDialog1.FileName)
End If
End If
End Sub
但这只会创建一个空文件夹,例如"C:>用户> Adriaan> AppData> Local 等等。有没有人有一个关于如何做到这一点的好例子,因为我无法从帮助文件中辨认出任何东西。
谢谢
对于可能遇到相同问题的其他任何人,这就是我解决问题的方式。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim iso = New CDBuilder()
iso.UseJoliet = True
iso.VolumeIdentifier = TextBox1.Text
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
If SaveFileDialog1.FileName = "" Then
Else
Dim di As New DirectoryInfo(My.Computer.FileSystem.SpecialDirectories.Temp & "TempISODir")
PopulateFromFolder(iso, di, di.FullName)
iso.Build(SaveFileDialog1.FileName)
End If
End If
End Sub
Private Shared Sub PopulateFromFolder(builder As CDBuilder, di As DirectoryInfo, basePath As String)
For Each file As FileInfo In di.GetFiles()
builder.AddFile(file.FullName.Substring(basePath.Length), file.FullName)
Next
For Each dir As DirectoryInfo In di.GetDirectories()
PopulateFromFolder(builder, dir, basePath)
Next
End Sub