09. juni 2011 - 20:37Der er
10 kommentarer og 1 løsning
Kun kopiere hvis drevet er removable
Hej
Jeg er ved at lave et program der skal kopiere indholdet af nogle mapper over på roden af nogle specificerede drev, men hvordan kan jeg få programmet til kun at kopiere hvis drevet er en usb-nøgle.
Jeg har allerede et program, der kan kopiere som det skal, der skal bare lige den ekstra betingelse ind. Og jeg har prøvet en del, men jeg kan ikke få det til at virke som ønsket.
Namespace E Public Class Program Public Shared Sub Main(args As String()) For c As Integer = AscW("A") To AscW("F") Dim drive As String = ChrW(c) & ":" Dim di As New DriveInfo(drive) Console.WriteLine(drive & " - " & di.DriveType.ToString()) Next Console.ReadKey() End Sub End Class End Namespace
Synes godt om
Slettet bruger
10. juni 2011 - 06:37#2
Jeg er ikke så erfaren i vb endnu - men: Jeg kan ikke se at det skulle udvælg usb-nøgler, hvilket argument gør det. Og hvad er det Namespace for noget, det får da mit program/vb til at gå i fejl... Her er en stump kode hvor jeg skal have betingelsen ind: If drvValue.IsReady("E:\") Then If GetDriveType("E:\") = "DRIVE_REMOVABLE" Then My.Computer.FileSystem.CopyDirectory(Application.StartupPath + "\Type\Type1\", "E:\", True) End If End If Hvor det med fed er et eksempel på hvad jeg har prøvet, men som ikke virkede.
Det ser mere ud som det jeg skal bruge, men hvordan får jeg det ind som betingelse. Jeg har prøvet: If (New DriveInfo("E:")).DriveType = DriveType.Removable. Men det får programmet til både at kopiere til fixed og removable.
Ja, i dette tilfælde er det. Jeg har pt 5 (E, F, G, I og J) drev jeg vil skrive til, hvor alle 5 har ens kode (copy-paste). Udelukkende fordi det var hvad jeg kunne overskue og få til at virke.
If (New DriveInfo(targetdev)).DriveType = DriveType.Removable Then ' kopier End If
boer virke.
Hvordan faar du E: til at vaere fixed?
Synes godt om
Slettet bruger
12. juni 2011 - 08:21#9
E: er ikke fixed, det er en af de andre drev jeg skriver til. Under test har jeg også c som target, derfor kan jeg se at programmet både skriver til c (fixed) og f (removable) - hvilket gør at jeg kan regne ud at "If (New DriveInfo(targetdev)).DriveType = DriveType.Removable" Then ikke virker helt efter hensigten... Men hvis du mener det bør virke, så må jeg lige få lavet et test-program kun med den betingelse for at der kopieres.
Synes godt om
Slettet bruger
12. juni 2011 - 14:25#10
JAAAAAAA! Det var en fejl 40, jeg havde glemt at omdøbe en mappe... Så dumt! Tusind tak for hjælpen!! Smid et svar for point:-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.