IBM Lotus Symphony
|
Gibt den Namen einer Datei, eines Verzeichnisses oder aller Dateien und Verzeichnisse auf einem Laufwerk oder in einem Verzeichnis zurück, die dem angegebenen Suchpfad entsprechen.
Dir [(Text As String) [, Attrib As Integer]]
String
Text: Zeichenfolgeausdruck, der den Suchpfad, das Verzeichnis oder die Datei angibt. Dieses Argument kann nur beim ersten Aufruf der Dir-Funktion angegeben werden. Bei Bedarf können Sie den Pfad in der URL-Schreibweise eingeben.
Attrib: Integer-Ausdruck, der bitweise Dateiattribute angibt. Die Dir-Funktion gibt nur Dateien oder Verzeichnisse zurück, die den angegebenen Attributen entsprechen. Sie können verschiedene Attribute kombinieren, indem Sie die Attributwerte hinzufügen:
0 : Normale Dateien.
16 : Gibt nur den Namen des Verzeichnisses zurück.
Verwenden Sie dieses Attribut, um zu überprüfen, ob eine Datei oder ein Verzeichnis vorhanden ist. Sie können damit auch alle Dateien und Ordner in einem bestimmten Verzeichnis ermitteln.
Geben Sie den vollständigen Pfad und Namen der Datei ein, um zu überprüfen, ob diese vorhanden ist. Wenn der Datei- oder Verzeichnisname nicht vorhanden ist, gibt die Dir-Funktion eine leere Zeichenfolge zurück ("").
Gehen Sie wie folgt vor, wenn Sie eine Liste aller vorhandenen Dateien in einem bestimmten Verzeichnis generieren möchten: Beim ersten Aufruf der Dir-Funktion geben Sie den vollständigen Suchpfad für die Dateien ein, z. B. "D:\Files\*.sxw". Wenn der Pfad richtig ist und bei der Suche mindestens eine Datei gefunden wird, gibt die Dir-Funktion den Namen der ersten Datei zurück, die dem Suchpfad entspricht. Rufen Sie die Dir-Funktion erneut, aber ohne Argumente auf, um weitere Dateinamen zurückzugeben, die dem Pfad entsprechen.
Verwenden Sie die Attributparameter, um nur Verzeichnisse zurückzugeben. Dasselbe gilt, wenn Sie den Namen eines Datenträgers ermitteln möchten (z. B. die Partition einer Festplatte).
Sub ExampleDir
REM Zeigt alle Dateien und Verzeichnisse an
Dim sPath As String
Dim sDir as String, sValue as String
sDir="Verzeichnisse:"
sPath = CurDir
sValue = Dir$(sPath + getPathSeparator + "*",16)
Do
If sValue <> "." and sValue <> ".." Then
if (GetAttr( sPath + getPathSeparator + sValue) AND 16) >0 then
REM Verzeichnisse abrufen
sDir = sDir & chr(13) & sValue
End If
End If
sValue = Dir$
Loop Until sValue = ""
MsgBox sDir,0,sPath
End sub