Rubrik: Dateisystem · Dateien allgemein | VB-Versionen: VB6 | 26.02.03 |
Pfadangabe in Laufwerk, Ordner und Dateiname zerlegen Dieses Beispiel zeigt, wie sich eine Pfadangabe in ihre drei Bestandteile "Laufwerk", "Ordner" und "Dateiname" zerlegen lässt. | ||
Autor: Dietmar G. Bayer | Bewertung: | Views: 22.877 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Das nachfolgende Beispiel zeigt, wie sich eine Pfadangabe in ihre drei Bestandteile "Laufwerk", "Ordner" und "Dateiname" zerlegen lässt. Die Prozedur SplitPath prüft hierbei auch, ob überhaupt ein Laufwerk oder Ordner angegeben wurde. Wenn nicht, werden diese autom. ermitteln und zurückgegeben!
' vollständige Pfadangabe in Laufwerk, Pfad und ' Dateiname zerlegen Public Sub SplitPath(ByVal sFullPath As String, _ sDrive As String, sFolder As String, sFilename As String) Dim nPos As Long Dim sCurDir As String ' Laufwerk angegeben? If Mid$(sFullPath, 2, 1) = ":" Then sDrive = Left$(sFullPath, 2) sFullPath = Mid$(sFullPath, 3) End If ' Pfad und Dateiname nPos = InStrRev(sFullPath, "\") If nPos > 0 Then sFolder = Left$(sFullPath, nPos - 1) If sFolder = "" Then sFolder = "\" sFilename = Mid$(sFullPath, nPos + 1) Else sFilename = sFullPath ' aktuelles Verzeichnis auf Laufwerk "sDrive" ' ermitteln sCurDir = CurDir$ If sDrive = "" Then sDrive = Left$(sCurDir, 2) sFolder = Mid$(sCurDir, 3) Else ChDrive sDrive sFolder = Mid$(CurDir$, 3) ChDrive Left$(sCurDir, 2) End If End If End Sub
Beispiele:
SplitPath "c:\ordner\test.txt", _
sDrive, sFolder, sFilename
Rückgabewerte:
sDrive: c:
sFolder: \ordner
sFilename: test.txt
SplitPath "\test.txt", _
sDrive, sFolder, sFilename
Rückgabewerte:
sDrive: [aktuelles Laufwerk]
sFolder: \
sFilename: test.txt
SplitPath "test.txt", _
sDrive, sFolder, sFilename
Rückgabewerte:
sDrive: [aktuelles Laufwerk]
sFolder: [aktueller Ordner]
sFilename: test.txt
SplitPath "\\Server\C\Ordner\test.txt", _
sDrive, sFolder, sFilename
Rückgabewerte:
sDrive: [leer]
sFolder: \\Server\C\Ordner
sFilename: test.txt