Jag vill kunna flytta innehållet från låt oss säga C:\test till C:\ utan att vara tvungen o använda kill funktionen om det redan finns en fil vid samma namn utan endast skriva över den i såna fall. Hej, du borde kunna använda namespace System.IO och sätta flagga på overwrite. Har tyvärr ingen kod för att visa exempel tillgänglig just nu. Mattias, Det är ungefär så som jag har det just nu men om det råkar hända att programmet crashar efter den har tagit bort en fil och aldrig hinner ersätta med en nya filen så är det kört. därför undrade jag om vb.net hade någon inbyggd funktion som jag antar skulle vara mycket mer stabilare än det jag använde. File.Move tar väl bort orginal filen? Ngt annat vore ju himmla skumt eftersom det inte är en Copy?Flytta innehållet i en mapp
Sv: Flytta innehållet i en mapp
Sv: Flytta innehållet i en mapp
Du skulle kunna skriva en funktion som ser ut som nedan. Obs jag har inte testat koden utan skrev den på "frihand"
Imports System.IO;
Public Function MoveFile(sourceFile As String, destinationFile As String, overwriteFile As Boolean) As Boolean
If ( File.Exists(sourceFile) = True ) Then
If ( overwriteFile = False ) Then
Return False
End If
File.Delete(sourceFile)
End If
File.Move(sourceFile, destinationFile)
Return True
End Sub
Sen anropar du den med
Dim Results As Boolean
Results = MoveFile("C:\temp.txt", "C:\Katalog\temp.txt", True) ' Skriv över filen om den finns
If( Results = False )
' Det gick inte att flytta den
End If
Givetvis bör du även lägga in kod för att fånga exceptions i funktionen MoveFile
Sv:Flytta innehållet i en mapp
Sv: Flytta innehållet i en mapp
Så varför inte bara lita på den och göra en try catch för den?
Tyvärr har vi inget transaktionsstöd på filsystems nivå, så det kan bli lite svårt att skydda sig för crasher mitt i en move. Men anvädner du bara Move så borde det iaf komma så nära som möjligt.
Hmm det var en ide iofs :) En klass med fil transaktionsstöd *Skratt*