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.

Funktionssyntax:

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. Beispiel:

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)

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:

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