Start / FAQ / FAQ 0073: Wie kann ich eine Datei umbenennen?
 
Startseite Up-/Download Tutorials Club Das Team
Rubriken Foren Bücher Tips 'n Tricks Suche


FAQ 0073: Wie kann ich eine Datei umbenennen?


  Frage

Wie kann ich eine Datei oder ein Verzeichnis umbenennen oder verschieben?

Die hier gezeigten Quelltexte stammen von  Helge Rex.

Inhalt

VB-Funktionen
API-Funktionen
WSH-Funktionen

  VB-Funktionen

Visual Basic stellt die Methode Name() zur Verfügung:

Private Sub TestSub()
    Dim strOldFile As String
    Dim strNewFile As String

    strOldFile = Environ$("WINDIR") & "\setuplog.txt"
    strNewFile = Environ$("WINDIR") & "\newsetuplog.txt"

    Name strOldFile As strNewFile
End Sub

Listing 1: Datei oder Verzeichnis mit VB umbenennen oder verschieben

  API-Funktionen

Visual Basic selbst leitet die Parameter der Methode Name() an die API-Funktion MoveFile weiter:

Private Declare Function MoveFile Lib "kernel32.dll" _
                Alias "MoveFileA" ( _
                ByVal lpExistingFileName As String, _
                ByVal lpNewFileName As String) As Long

Private Sub TestSub()
    Dim strOldFile As String
    Dim strNewFile As String

    strOldFile = Environ$("WINDIR") & "\setuplog.txt"
    strNewFile = Environ$("WINDIR") & "\newsetuplog.txt"

    MoveFile strOldFile, strNewFile
End Sub

Listing 2: Datei oder Verzeichnis mit API umbenennen oder verschieben

MoveFile ist nicht in der Lage, Dateien über Partitionsgrenzen hinweg zu verschieben. Wer diese Funktionalität benötigt, der muß sich mit der API-Funktion MoveFileEx beschäftigen. Diese API-Funktion bietet darüber hinaus auch die Möglichkeit, die Datei beim nächsten Systemstart zu kopieren. Das ist natürlich für eigene Setup-Tools ein idealer Ansatz.

  WSH-Funktionen

Das FSO stellt die Methode MoveFile() zur Verfügung.

Private Sub TestSub()
    Dim objFSO As Object
    Dim strOldFile As String
    Dim strNewFile As String

    strOldFile = Environ$("WINDIR") & "\setuplog.txt"
    strNewFile = Environ$("WINDIR") & "\newsetuplog.txt"

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.MoveFile strOldFile, strNewFile
    Set objFSO = Nothing
End Sub

Listing 3: Datei oder Verzeichnis mit FSO umbenennen oder verschieben


Erstellt: 18.10.2003
Aktualisierung: 26.07.2010
  Autor: Helge Rex
E-Mail: faq@ActiveVB.de



Copyright © 1998-2010 by ActiveVB
Alle Rechte vorbehalten.