Vorheriges Thema: FindFirst - Zurückgeben des Namens der ersten bei der Suche gefundenen DateiNächstes Thema: FindNext


FindFirstFile - Suchen nach Dateien in einem Verzeichnis

Gültig für NetWare, Symbian OS, UNIX, Windows und Windows CE.

Die Funktion "FindFirstFile" durchsucht das angegebene Verzeichnis nach Dateien.

Diese Dateiinhaltsfunktion hat das folgende Format:

FindFirstFile(namespec as String, filename as String) as Integer
namespec

Gibt den Verzeichnispfad oder den Dateipfad unter Verwendung von Platzhaltern an. Verwenden Sie hierbei keine literale Zeichenfolge. Zum Beispiel weist

FALSCH:
Dim filename as string
Dim findHandle as integer
findHandle=FindFirstFile("c:\windows\*.dll",filename).

RICHTIG:
Dim filename as string
Dim filehandle as integer
Dim path as string
Path="c:\windows\*.dll"
Filehandle=FindFirstFile(path,filename)

Dateiname

Ein Ausgabeparameter, der den Namen der gefundenen Datei enthält.

Bei erfolgreichem Abschluss gibt die Funktion ein Such-Handle zurück, das als Eingabe für "FindNextFile" und "FindClose" verwendet wird. Andernfalls gibt die Funktion 0 zurück. Andernfalls wird 0 zurückgegeben.

Beispiel: Funktion "FindFirstFile"

In diesem Beispiel werden als Argumente übergebene Verzeichnisinhalte rekursiv aufgelistet.

Function contents(root as string) As Boolean
	Dim fileName As String
	Dim iHandle As Integer
	Dim rootRoot As String
	
	rootRoot = Mid(root, 0, len(root)-1)
	iHandle = FindFirstFile(root, fileName)) Then
	If iHandle = 0 Then
		Print("No files found at """ + root + """")
	Else
		Wiederholen
			If Is_Dir(rootRoot + fileName) Then
				Print("""" + rootRoot + fileName + """ is a directory")
				if Not(fileName = ".") AND Not(fileName = "..") Then
					contents(rootRoot + fileName + "\*")
				End If
			Else
				Print("""" + rootRoot + fileName + """ is a file")
			End If
		Until Not(FindNextFile(iHandle, fileName))

		FindClose(iHandle)
	End If
	contents = TRUE
End Function

Dim i As Integer
ClrScr()
if Argc() = 1 Then
	Beenden
End If
For i=1 To Argc()-1
	Print(NEWLINE$ + "Recursive List of """ + Argv(i) + """")
	Contents(Argv(i))
Next i

Invokation: dmscript sample.dms c:\* -w_dms