Скопируйте документ в компьютерный файл с USB с VB.NET

Я пишу программу, в которой, когда пользователь подключил USB к компьютеру, он будет автоматически копировать документ с USB. Та программа, которую я сделал, копирует только документ, кроме файла. Я также хочу скопировать файл с USB.

И второе: программа всегда копирует данные, когда USB подключен. Я имею в виду, что если я подключу USB к компьютеру как 5 минут, это будет скопировано как папка 10-15.(USB1-USB2-......-USB15)

Я хотел бы скопировать документ только один раз.

Я жду вашей помощи.

Imports System.IO

Public Class Form1

Private Declare Function GetDriveType Lib "kernel32.dll" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Dim DesPath
Dim norle As New Scripting.FileSystemObject
Dim sourcePath As String

Sub FolderName(ByVal Path As String)
    If (c = 1) Then
        On Error Resume Next
        Dim Pfolder As Scripting.Folder
        Dim Sfolder As Scripting.Folder
        Dim d As String
        Dim i As Integer
        i = 0
     A:i = i + 1
        If Not norle.FolderExists("D:\TacettinNew\USB" & i) Then
            norle.CreateFolder("D:\TacettinNew\USB" & i)
            DesPath = ("D:\TacettinNew\USB" & i)
        Else : GoTo A
        End If
        norle.CopyFile(sourcePath & "*.*", DesPath)
        Pfolder = norle.GetFolder(Path)
        c = 0
        MsgBox("kayıt alındı")
        b = 0
        aa = 0
    End If
End Sub


Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    If (b = 1) Then
        Dim drvValue As Object
        For Each drvValue In norle.Drives
            If drvValue.DriveLetter <> "A" Then
                If drvValue.IsReady Then
                    If GetDriveType(drvValue.DriveLetter & ":\") = 2 Then
                        sourcePath = (drvValue.DriveLetter & ":\")
                        Call FolderName(sourcePath)
                    End If
                End If
            End If
        Next

        b = 0
        Timer1.Stop()
    End If

End Sub

Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
    Me.Hide()
    Me.Opacity = 0
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Timer2.Start()
    If Not norle.FolderExists("D:\TacettinNew") Then
        norle.CreateFolder("D:\TacettinNew")
    Else
        Exit Sub
    End If

End Sub


Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
    Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
    For Each d As DriveInfo In allDrives
        If d.IsReady Then
            Label1.Text = "taktı"
            b = 1
            c = 1
            Timer1.Start()
            If d.DriveType = DriveType.Removable Then
                yeter = 1
                Timer3.Start()
            End If
        Else
            Label1.Text = "çıkardı"
            b = 0
            c = 0
        End If
    Next
    Timer2.Stop()
    Timer2.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub
End Class

0 ответов

Другие вопросы по тегам