Zurück zur Homepage

Kurzer Dateiname

In Windows können Datei- und Verzeichnisnamen länger als 8 Zeichen sein. DOS und andere Programme wie FTP können damit nichts anfangen. Die Funktion KurzerDateiname liefert den 8+3 Namen eines kompletten Pfades. Die Datei muss aber vorhanden sein.

Beispieldatei kurzerdateiname.zip 8 kB

Private Declare Function GetShortPathName Lib "kernel32" Alias _
  "GetShortPathNameA" (ByVal lpszLongPath As String, _
  ByVal lpszShortPath As String, ByVal lBuffer As Long) As Long

Public Function KurzerDateiname(Dateiname As String)
  'Datei oder Verzeichnis muss vorhanden sein
  'Verzeichnis mit oder ohne Backslash
  Dim Buffer As String, Länge As Long
  Buffer = String(255, 0)
  Länge = GetShortPathName(Dateiname, Buffer, 254)
  KurzerDateiname = Left$(Buffer, Länge)
End Function