Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 08:08 Der er 12 kommentarer og
1 løsning

Flyt samtlige filer fra en mappe til en anden

Hej,
Sidder og leger lidt med VB.Net og ville gerne have den til at kunne flytte en række filer fra en mappe til en anden nogen der kan lave et hurtigt eksempel til det? har kigget lidt på det og syntes sku ik rigtig jeg kan finde ud af det
Avatar billede arne_v Ekspert
24. oktober 2005 - 09:27 #1
lidt kode fra lageret:

   
    Private Sub XCopy(dir1 As String, dir2 As String)
        Dim files As String() = Directory.GetFiles(dir1)
        For Each f As String In files
            File.Copy(f, dir2 & f.Substring(dir1.Length), True)
        Next
        Dim dirs As String() = Directory.GetDirectories(dir1)
        For Each d As String In dirs
            XCopy(d, dir2 & d.Substring(dir1.Length))
        Next
    End Sub
Avatar billede arne_v Ekspert
24. oktober 2005 - 09:27 #2
den kaldes med 2 dir

så kopierer den alle filer fra første dir (inklusive sub dirs !) til andet dir
Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 09:56 #3
lyder bare super, tester det lige
Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 10:09 #4
får nogle frmMain.vb(50): Name 'Directory' is not declared.
og samme med File

hvad gør jeg der?
Avatar billede skwat Praktikant
24. oktober 2005 - 10:10 #5
using System.IO; nok
Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 10:17 #6
yes yes, det virker fint, men den kopiere istedet for at flytte
Avatar billede arne_v Ekspert
24. oktober 2005 - 10:19 #7
ja System.IO

hvis du vil slette i det gamle dir så bruger du File.Move fremfor File.Copy
Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 10:26 #8
virker os helt fint hvis jeg fjerner ", True"

men den kan ikke finde ud af undermapper da de vist ikke bliver oprettet i min dir2 mappe

før denne fejl: Additional information: Could not find a part of the path "C:\move2\test\dsa.jpg".
Avatar billede arne_v Ekspert
24. oktober 2005 - 10:30 #9
Private Sub XMove(dir1 As String, dir2 As String)
        Dim files As String() = Directory.GetFiles(dir1)
        For Each f As String In files
            File.Move(f, dir2 & f.Substring(dir1.Length), True)
        Next
        Dim dirs As String() = Directory.GetDirectories(dir1)
        For Each d As String In dirs
            Directory.CreateDirectory(dir2 & d.Substring(dir1.Length))
            XMove(d, dir2 & d.Substring(dir1.Length))
        Next
    End Sub
Avatar billede steffen8260 Nybegynder
24. oktober 2005 - 10:35 #10
så den allersidste ting :P

den sletter ikke de mapper fra mappe 1 som er blevet flyttet
kan du ik skrive næste kommentar som et svar?
Avatar billede arne_v Ekspert
24. oktober 2005 - 12:11 #11
Private Sub XMove(dir1 As String, dir2 As String)
        Dim files As String() = Directory.GetFiles(dir1)
        For Each f As String In files
            File.Move(f, dir2 & f.Substring(dir1.Length), True)
        Next
        Dim dirs As String() = Directory.GetDirectories(dir1)
        For Each d As String In dirs
            Directory.CreateDirectory(dir2 & d.Substring(dir1.Length))
            XMove(d, dir2 & d.Substring(dir1.Length))
        Next
        Directory.Delete(dir1, True)
    End Sub

vil jeg tro
Avatar billede steffen8260 Nybegynder
09. november 2005 - 08:28 #12
arne_v har du mulighed for at oprette et svar :)
Avatar billede arne_v Ekspert
09. november 2005 - 10:07 #13
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester