Vb.net 从闪存驱动器提取文件时出错
嘿,我正在尝试使用EnumerateFiles函数,但当我尝试运行我的程序时,它会显示:错误BC30616:变量“e”将变量隐藏在封闭块中 有人能帮忙吗?非常感谢Vb.net 从闪存驱动器提取文件时出错,vb.net,Vb.net,嘿,我正在尝试使用EnumerateFiles函数,但当我尝试运行我的程序时,它会显示:错误BC30616:变量“e”将变量隐藏在封闭块中 有人能帮忙吗?非常感谢 Imports System.IO Public Class frmExtractionator Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Imports System.IO
Public Class frmExtractionator
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
Dim sourceDirectory As String = "F:\CopierFolderforTestDriveCapstone"
Dim archiveDirectory As String = "F:\FilesExtracted"
Try
Dim txtFiles = Directory.EnumerateFiles(sourceDirectory)
If(Not System.IO.Directory.Exists(archiveDirectory )) Then
System.IO.Directory.CreateDirectory(archiveDirectory)
End If
For Each currentFile As String In txtFiles
Dim fileName = currentFile.Substring(sourceDirectory.Length + 1)
File.Move(currentFile, Path.Combine(archiveDirectory, fileName))
Next
Catch eT As Exception
Console.WriteLine(eT.Message)
End Try
End Sub
End Class
尝试此更改 原因变量:e使用两次
Catch eT As Exception
Console.WriteLine(eT .Message)
End Try
哪里已经使用了e?
btnStart_单击(ByVal发送者作为系统对象,ByValeAs
System.EventArgs)
更新:
关于你的疑问:
Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName))
我想你是在试图移动文件而不是目录,对吗
使用File.Move
代替,记住创建archiveDirectory
更新2:
在之前为每个
If(Not System.IO.Directory.Exists(archiveDirectory )) Then
System.IO.Directory.CreateDirectory(archiveDirectory )
End If
嘿,谢谢你,你说得对!只是想知道,每次我按下按钮提取文件并把它们放在一个新的文件夹里都不起作用?是的,我是新的lol,但我会接受你的回答。如果我做得对的话,我真的在尝试将文件移动到文件夹中使用File.move?,记住创建ArchiveDirector我想它会为我创建一个文件夹并将文件放入其中,但你是说我需要在闪存驱动器中创建该文件夹?我正在尝试使用这个文件。Move(我非常感谢你的帮助)它说“If”必须以endIf结尾,我应该把它添加进去吗?