Vb.net 从闪存驱动器提取文件时出错

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

嘿,我正在尝试使用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

        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结尾,我应该把它添加进去吗?