AnaXyd Skrevet 7. juli 2007 Del Skrevet 7. juli 2007 (endret) Valgte å redigere om denne fra tidligere spm. til nytt slik at jeg sparer litt for emner inne her... Saken er at jeg har noen filer som skal kopieres til ett sted til et annet. Jeg har laget en mappe i prosjektet mitt (ved alle formene), der alle filene ligger. Men jeg finner ikke ut hvordan jeg skal få kopiert akkurat fra den mappen? Har prøvd My., men finner den ikke... Legger ved et bilde: Kan noen hjelpe meg? Endret 8. juli 2007 av AnaXyd Lenke til kommentar
AnaXyd Skrevet 7. juli 2007 Forfatter Del Skrevet 7. juli 2007 (endret) ***** Endret 8. juli 2007 av AnaXyd Lenke til kommentar
AnaXyd Skrevet 9. juli 2007 Forfatter Del Skrevet 9. juli 2007 Er det ingen som kan hjelpe meg? Burde i grunn være ganske simpelt... Jeg har prøvd å søke etter hva det kan være, men veit liksom ikke helt hva jeg skal søke etter... Håper noen kan hjelpe! Lenke til kommentar
j000rn Skrevet 9. juli 2007 Del Skrevet 9. juli 2007 File.Copy( Path.Combine(Environment.CurrentDirectory, "OE Files\minfil.txt"), "c:\minfil.txt"); Du må legge "OE Files" i BIN\Debug (el. Release) først. Lenke til kommentar
j000rn Skrevet 9. juli 2007 Del Skrevet 9. juli 2007 Valgte å redigere om denne fra tidligere spm. til nytt slik at jeg sparer litt for emner inne her... 9021714[/snapback] Noe av poenget med forumet er at andre skal kunne søke og se på eldre saker som har blitt diskutert. Lag nye innlegg i fremtiden du.... Lenke til kommentar
AnaXyd Skrevet 9. juli 2007 Forfatter Del Skrevet 9. juli 2007 Valgte å redigere om denne fra tidligere spm. til nytt slik at jeg sparer litt for emner inne her... 9021714[/snapback] Noe av poenget med forumet er at andre skal kunne søke og se på eldre saker som har blitt diskutert. Lag nye innlegg i fremtiden du.... 9040849[/snapback] Det var ingen grunn til å ta vare på det som stod her, ikke for noen... Bare jeg som ikke var nøye nok! Uansett, takk for hjelpen! Skal teste om det funker nå! Lenke til kommentar
AnaXyd Skrevet 9. juli 2007 Forfatter Del Skrevet 9. juli 2007 Path blir ikke deklarert.. Er det noen deklarasjoner jeg trenger for denne? EDIT: Ah nevermind. Fant de ut selv: Imports System Imports System.IO Lenke til kommentar
AnaXyd Skrevet 9. juli 2007 Forfatter Del Skrevet 9. juli 2007 Jeg ser at System.IO.File.Copy fungerer bare for å kopiere enkle filer til ett nytt sted. Det er greit. Men det hadde vært greit å kunne kopiere dem inn i en mappe, uten å dra med filnavnet? Jeg kan jo gjøre det på en tungvin måte, men det er så mye jobb, og jeg føler at det finnes enklere veier? Er det forresten mulig å kopiere alt innhold i en mappe(mapper, mappestruktur og filer) til en ny mappe? Lenke til kommentar
j000rn Skrevet 9. juli 2007 Del Skrevet 9. juli 2007 System.IO.Directory.GetFiles() & System.IO.Directory.GetDirectories() Og så må du lage en rekursiv funksjon som kopierer alle filene. Lenke til kommentar
Spartakus Skrevet 10. juli 2007 Del Skrevet 10. juli 2007 Denne kan kanskje være til hjelp Lenke til kommentar
AnaXyd Skrevet 11. juli 2007 Forfatter Del Skrevet 11. juli 2007 (endret) Den var til hjelp ja! Tror nok den fungerer utmerket! Tusen takk! Men, hvordan skal jeg få denne til å kjøre ved et button click? Den ser jo slik ut: ' Recursively copy all files and subdirectories from the ' specified source to the specified destination. Private Sub RecursiveCopyFiles( _ ByVal sourceDir As String, _ ByVal destDir As String, _ ByVal fRecursive As Boolean, ByVal overWrite As Boolean) Dim i As Integer Dim posSep As Integer Dim sDir As String Dim aDirs() As String Dim sFile As String Dim aFiles() As String ' Add trailing separators to the supplied paths if they don't exist. If Not sourceDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then sourceDir &= System.IO.Path.DirectorySeparatorChar End If If Not destDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then destDir &= System.IO.Path.DirectorySeparatorChar End If ' Recursive switch to continue drilling down into dir structure. If fRecursive Then ' Get a list of directories from the current parent. aDirs = System.IO.Directory.GetDirectories(sourceDir) For i = 0 To aDirs.GetUpperBound(0) ' Get the position of the last separator in the current path. posSep = aDirs(i).LastIndexOf("\") ' Get the path of the source directory. sDir = aDirs(i).Substring((posSep + 1), aDirs(i).Length - (posSep + 1)) ' Create the new directory in the destination directory. System.IO.Directory.CreateDirectory(destDir + sDir) ' Since we are in recursive mode, copy the children also RecursiveCopyFiles(aDirs(i), (destDir + sDir), fRecursive, overWrite) Next End If ' Get the files from the current parent. aFiles = System.IO.Directory.GetFiles(sourceDir) ' Copy all files. For i = 0 To aFiles.GetUpperBound(0) ' Get the position of the trailing separator. posSep = aFiles(i).LastIndexOf("\") ' Get the full path of the source file. sFile = aFiles(i).Substring((posSep + 1), aFiles(i).Length - (posSep + 1)) Try ' Copy the file. System.IO.File.Copy(aFiles(i), destDir + sFile, False) ToolStripStatusLabel1.Text = ("Copied " & sFile & " to " & destDir) Catch ex As Exception If overWrite = False Then ToolStripStatusLabel1.Text = (ex.Message) ToolStripStatusLabel1.Text = ("Skipping..." & ex.Message) Else System.IO.File.Copy(aFiles(i), destDir + sFile, True) ToolStripStatusLabel1.Text = ("Overwriting old " & sFile & " in " & destDir) End If End Try Next i End Sub Men om jeg kopierer denne inn i en button click, skjer det konflikter... Hva må jeg gjøre..? Endret 11. juli 2007 av AnaXyd Lenke til kommentar
j000rn Skrevet 11. juli 2007 Del Skrevet 11. juli 2007 Men om jeg kopierer denne inn i en button click, skjer det konflikter... 9054289[/snapback] Hva betyr det? Feilmelding på Engelsk er å foretrekke. Lenke til kommentar
aadnk Skrevet 11. juli 2007 Del Skrevet 11. juli 2007 (endret) Men om jeg kopierer denne inn i en button click, skjer det konflikter... Hva må jeg gjøre..?9054289[/snapback] Sukk. Du kan ikke lime inn en funksjon i en annen funksjon - denne må plasseres ETTER eller FØR, evt. i en annen modul/klasse. For å bruke funksjonen, må du kalle dem med de individuelle parametre den eksponerer: RecursiveCopyFiles("C:\Kilde\", "C:\Destinasjon", True, True) Endret 11. juli 2007 av aadnk Lenke til kommentar
AnaXyd Skrevet 11. juli 2007 Forfatter Del Skrevet 11. juli 2007 Akkurat det der gikk ikke... RecursiveCopyFiles, blir ikke deklarert på en eller annen måte, og jeg har prøvd å legge klassen inn som egen klasse, og i samme form som jeg kaller parameteret... Hva kan være galt? Lenke til kommentar
aadnk Skrevet 11. juli 2007 Del Skrevet 11. juli 2007 Slik da? Klikk for å se/fjerne innholdet nedenfor Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click RecursiveCopyFiles("C:\Kilde\", "C:\Destinasjon", True, True) End Sub ' Recursively copy all files and subdirectories from the ' specified source to the specified destination. Private Sub RecursiveCopyFiles( _ ByVal sourceDir As String, _ ByVal destDir As String, _ ByVal fRecursive As Boolean, ByVal overWrite As Boolean) Dim i As Integer Dim posSep As Integer Dim sDir As String Dim aDirs() As String Dim sFile As String Dim aFiles() As String ' Add trailing separators to the supplied paths if they don't exist. If Not sourceDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then sourceDir &= System.IO.Path.DirectorySeparatorChar End If If Not destDir.EndsWith(System.IO.Path.DirectorySeparatorChar.ToString()) Then destDir &= System.IO.Path.DirectorySeparatorChar End If ' Recursive switch to continue drilling down into dir structure. If fRecursive Then ' Get a list of directories from the current parent. aDirs = System.IO.Directory.GetDirectories(sourceDir) For i = 0 To aDirs.GetUpperBound(0) ' Get the position of the last separator in the current path. posSep = aDirs(i).LastIndexOf("\") ' Get the path of the source directory. sDir = aDirs(i).Substring((posSep + 1), aDirs(i).Length - (posSep + 1)) ' Create the new directory in the destination directory. System.IO.Directory.CreateDirectory(destDir + sDir) ' Since we are in recursive mode, copy the children also RecursiveCopyFiles(aDirs(i), (destDir + sDir), fRecursive, overWrite) Next End If ' Get the files from the current parent. aFiles = System.IO.Directory.GetFiles(sourceDir) ' Copy all files. For i = 0 To aFiles.GetUpperBound(0) ' Get the position of the trailing separator. posSep = aFiles(i).LastIndexOf("\") ' Get the full path of the source file. sFile = aFiles(i).Substring((posSep + 1), aFiles(i).Length - (posSep + 1)) Try ' Copy the file. System.IO.File.Copy(aFiles(i), destDir + sFile, False) 'ToolStripStatusLabel1.Text = ("Copied " & sFile & " to " & destDir) Catch ex As Exception If overWrite = False Then 'ToolStripStatusLabel1.Text = (ex.Message) 'ToolStripStatusLabel1.Text = ("Skipping..." & ex.Message) Else System.IO.File.Copy(aFiles(i), destDir + sFile, True) 'ToolStripStatusLabel1.Text = ("Overwriting old " & sFile & " in " & destDir) End If End Try Next End Sub End Class Lenke til kommentar
AnaXyd Skrevet 11. juli 2007 Forfatter Del Skrevet 11. juli 2007 (endret) Nå funket det! Tusen takk! Var det noe med greiene jeg hadde modifisert? Endret 11. juli 2007 av AnaXyd Lenke til kommentar
aadnk Skrevet 11. juli 2007 Del Skrevet 11. juli 2007 Var det noe med greiene jeg hadde modifisert? 9055541[/snapback] Nja, jeg måtte kommentere bort ToolStripStatusLabel1-linjene for å få koden til å kompilere. Til neste gang bør du kanskje nevne feilmeldingen du får, om noen, i Error List. Selv fikk jeg Name 'ToolStripStatusLabel1' is not declared. Lenke til kommentar
AnaXyd Skrevet 11. juli 2007 Forfatter Del Skrevet 11. juli 2007 Okay.... Det var nok noe som var feil bare... Også funket det som bare rakkeren også! Takk for hjelp! Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå