Besseren Weg, um zu Kopieren, Verschieben, Umbenennen der Datei, Visual Basic (VS 2012 V11)
Möchte ich kopieren, umbenennen und verschieben einer Datei an einen neuen Speicherort. Nach http://msdn.microsoft.com/en-us/library/36xbexyf(v=vs. 90).aspx der folgende code sollte das tun:
Diesem Beispiel wird die Datei kopiert Test.txt in das Verzeichnis TestFiles2 und
benennt es NewFile.txt.
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing)
Allerdings, wenn ich diesen code geben Sie nur sieht die "NewFile.txt" parameter wie der Boolean-parameter, Griffe überschreibt. Ich glaube, das ist ein Fehler auf den Webseiten Teil.
Wenn ich nicht verwenden können "Meine.Computer.Dateisystem.CopyFile" (es sei denn ich mache etwas falsch) kopieren, umbenennen und verschieben einer Datei, gibt es einen besseren Weg, dann dies:
' Rename the file to be copied the name you want it to be in the new location
My.Computer.FileSystem.RenameFile("C:\OriginalFile.txt", "OriginalFileTemporaryName.txt")
' Copy the file to the new location and overwrite if it exists there
My.Computer.FileSystem.CopyFile ("C:\OriginalFileTemporaryName.txt", "C:\UserFiles\TestFiles2", True)
' Rename the original file back to it's original name
My.Computer.FileSystem.RenameFile("C:\OriginalFileTemporaryName.txt", "OriginalFile.txt")
Habe ich das problem mit den oben genannten, ist, dass ich am Ende vielleicht das umbenennen der original Datei einen temporären Namen, der bereits in der original-Dateien-Verzeichnis. Dass ich vermeiden will. Ich habe auch nicht wollen, benennen Sie die kopierte Datei in den Zielordner, weil ich nicht sehen, eine option zu zwingen, ein überschreiben für "Meinen.Computer.Dateisystem.RenameFile"
Ist dies auch eine halbwegs anständige Lösung?
Gibt es nicht einen besseren Weg, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es sieht wie ein Fehler auf der website. Das sollte nicht aufhören, uns, obwohl; setzen Sie einfach das Verzeichnis und den Dateinamen in den gleichen parameter:
(Wenn Sie erzwingen möchten, überschreiben, ändern Sie den Dritten parameter zu
True
. Ich weiß nicht, dass Sie überschreiben können, und übergeben SieCancelOption.DoNothing
im selben Aufruf.)Ich glaube, Sie haben syntax-Fehler. Sie versuchen, geben Sie den Namen der Zieldatei als zwei Parameter - Verzeichnis-name und Datei-Namen, wenn Sie geben sollte, sowohl als ein string.
So. Dritten parameter könnte boolean (True/False) - ob oder nicht Sie wouldd wie zum überschreiben der Ziel-Datei, wenn es vorhanden ist.
Wenn Sie möchten, prüfen Sie zuerst, ob die Datei vorhanden ist, werfen Sie einen Blick auf System.IO.File-Klasse, es ist "Vorhanden" - Methode, die akzeptiert Dateinamen und gibt ein boolsches. Es hat auch Methoden zum Bearbeiten von Dateien, die Sie stattdessen verwenden können von Dateisystem-Klasse, obwohl es keinen performance-Vorteil.