Gå til innhold

Anbefalte innlegg

Videoannonse
Annonse
hei alle sammmen... jeg har lest rundt og letet etter noen stder der de enkelt kan forkalre hvordan du kan kopiere hele mapper med masse filer inne...feks mine bilder... fra er sted til et annet..!

 

jeg så på Kimjor sin post, men det var bare for enkelt filer... :(

 

 

håper dere kan hjelpe meg... :)

XCOPY *.* /s

burde gjøre susen ;-)

 

Alternativt kan du selvsagt lage deg en rekursiv greie som kopierer fil for fil, men XCOPY er da mer en god nok. Tar du med /e også så kopierer den også tomme kataloger hvis du ønsker det

Lenke til kommentar
hei alle sammmen... jeg har lest rundt og letet etter noen stder der de enkelt kan forkalre hvordan du kan kopiere hele mapper med masse filer inne...feks mine bilder... fra er sted til et annet..!

 

jeg så på Kimjor sin post, men det var bare for enkelt filer... :(

 

 

håper dere kan hjelpe meg... :)

XCOPY *.* /s

burde gjøre susen ;-)

 

Alternativt kan du selvsagt lage deg en rekursiv greie som kopierer fil for fil, men XCOPY er da mer en god nok. Tar du med /e også så kopierer den også tomme kataloger hvis du ønsker det

 

xcopy er et møkkaprogram som bør unngås, da det ikke kan håndtere filbaner over 254 tegn.

istdenfor bruk:

robocopy /E /Z <source> <dest>

Lenke til kommentar

Dersom man helst vil unngå rekursive funksjoner og eksterne kommandolinjeprogrammer, kan man alltids anvende en hendig liten prosedyre i Microsoft.VisualBasic-navnerommet. Bermerk at sistnevnte bør brukes med måte - ikke gjør deg avhengig av funksjonene som kun er tilstede for bakoverkompatibilitet (såsom Mid, Len, .ect.), og hvor det finnes langt bedre alternativer i .NET-rammeverket (lik Substring og Length):

My.Computer.FileSystem.CopyDirectory("C:\Fra\mappe\", "C:\til\mappe\", True)

 

En enkel (uten feilsjekking) rekursiv mappekopieringsprosedyre kan være som følger:

Public Sub CopyDirectory(ByVal Source As String, ByVal Target As String)

 

   ' Lag mappe om den ikke eksisterer allerede

   If Not IO.Directory.Exists(Target) Then

       IO.Directory.CreateDirectory(Target)

   End If

 

   ' Kopier alle filer

   For Each File In IO.Directory.GetFiles(Source)

       IO.File.Copy(File, IO.Path.Combine(Target, IO.Path.GetFileName(File)))

   Next

 

   ' Kopier hver undermappe for seg

   For Each SubFolder In IO.Directory.GetDirectories(Source)

       CopyDirectory(SubFolder, IO.Path.Combine(Target, IO.Path.GetFileName(SubFolder)))

   Next

 

End Sub

Endret av aadnk
Lenke til kommentar
Dersom man helst vil unngå rekursive funksjoner.......

Hvorfor det?

Personlig mener jeg at det å ha kontroll over rekursivitet ikke bare er en viktig kunnsap, men også en utrolig nyttig greie.

 

Jeg har en kollega som er skeptisk til rekursive metoder og jeg er sterkt imot denne skepsisen. Jada, det er fort gjort å ende opp i uendelige løkker hvis man ikk er forsiktig, men i noen tilfeller er faktisk rekursivitet den eneste muligheten og jeg mener dette er en del av grunnkunnskapen til en programmerer...

Lenke til kommentar
Hvorfor det?

Personlig mener jeg at det å ha kontroll over rekursivitet ikke bare er en viktig kunnsap, men også en utrolig nyttig greie.

Utvilsomt, og jeg hadde heller ikke til hensikt å antyde noe annet.

 

Jeg mente kun å påpeke at det kunne oppnås uten rekursive funksjoner og eksterne programmer nevnt i tidlige poster, ikke at disse fremgangsmåtene generelt sett burde unngås. I dette tilfellet kan man likevel vinne en del (unngå dependencies og kodelengde) ved å bruke innebyggede bibliotekprosedyrer (som nå faktisk er implementert rekursivt).

 

Jeg har en kollega som er skeptisk til rekursive metoder og jeg er sterkt imot denne skepsisen
Du burde tipse denne personen om ProjectEuler. Da tenker jeg pipen får en annen lyd.
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...