Hallo,
Wie ist es möglich alle dateinamen eines Ordners in einen Array zu lesen?
mfg petar
Hallo,
Wie ist es möglich alle dateinamen eines Ordners in einen Array zu lesen?
mfg petar
Ah habe gerade gesehen das es mit FileFindFirstFile ( "filename" ) funktioniert.
Hi Petar,
ist nur ein erster Versuch, aber funzt schon ganz gut.
Wenn es dir nützt, mußte die Angaben, die du noch brauchst eben hinzufügen..
Ooops, oder ist es schon zu spät???
Gruß
ytwinky
[Edit]
verbesserte Version:
;<AutoItScript>
Opt("MustDeclareVars", 1) ;0=ohne, 1=erfordert Variablen-Deklaration
#NoTrayIcon ;Ohne Icon im Tray, hängende Prozesse im ProcessViewer beenden
;+----------------------------------------------------------------------------+
;| Header: Bestimmen der Übergabeparameter |
;| ( Alles Strings(!!!), bis auf ArgC ) |
;| FontAnzeigeCheck: |Il1 sind Alt-0124, Großes i, Kleines L, Eins |
Const $Autor="DirList.au3 ©2006 by ytwinky, MD"; |
;| EMail: [EMAIL]PIII1kSystem-AutoIt3Forum@yahoo.de[/EMAIL] |
;| AutoIt3-Version: 3.1.1.118(beta) |
;| Editor: SciTE 1.67, feste Schriftart |
;| Zweck : Schablone für den Anfang, nach Bedarf anpassen |
;| Tab auf 2 setzen wg. Lesbarkeit |
;+----------------------------------------------------------------------------+
Global $Rand=" ", $s, $Anzahl
Dim $OrdnerName=FileSelectFolder("Ordner-Auswahl", "DeskTop", 4)
If $OrdnerName="" Then Exit
_IEPrt("<pre>" &ListDir($OrdnerName) &"Anzahl=" &$Anzahl, "Gewählter Ordner:" &$OrdnerName)
;Unterprogramme
Func ListDir($Verzeichnis, $FileSpec="*.*")
Local $i, $n, $Dir=$Verzeichnis, $Erw=$FileSpec, $Fehler
$Rand&=" "
If StringRight($Dir, 1)<>"" Then $Dir&=""
If StringLeft($Erw, 1)="" Then $Erw=StringMid($Erw, 2)
$i=FileFindFirstFile($Dir &$Erw)
Do
$n=$Dir &FileFindNextFile($i)
$Fehler=@Error
If Not $Fehler Then
$Anzahl+=1
$s&=$Rand &$n &" " &FileGetAttrib($n) &@CrLf
If StringInstr(FileGetAttrib($n), "D") Then ListDir($n)
EndIF
Until $Fehler
FileClose($i)
$Rand=StringMid($Rand, 1, StringLen($Rand-2))
Return $s
EndFunc
Func _IEPrt($Was, $Titel, $Breite=660, $Hoehe=300, $Links=100, $Oben=100) ;funzt sowieso
Dim $IE=ObjCreate("InternetExplorer.Application.1")
$IE.Navigate("about:blank")
$IE.Document.Title=$Titel
$IE.Left=$Links
$IE.Top=$Oben
$IE.Width=$Breite
$IE.Height=$Hoehe
$IE.Visible=1
$IE.Document.Body.InnerHtml="Bitte warten.."
$IE.Toolbar=False
$IE.Menubar=False
$IE.Statusbar=False
$IE.Visible=True
$IE.Document.Body.InnerHtml=$Was
EndFunc
Func Msg($s, $Titel="Info")
MsgBox(4096, $Titel, $s)
EndFunc
;</AutoItScript>
Alles anzeigen
Ja ich konnte es inzwischen selber lösen.
Eigentlich ist meine Lösung ganz ähnlich deiner, nur das deine etwas weiter geht als ich überhaubt brauche ![]()
Das Script aus der AutoIT Hilfe ist perfekt für meine Zwecke.
Ich hab eine Frage zu diesem Thema hier:
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
MsgBox(4096, "File:", $file)
WEnd
Wie ersetze ich die MsgBox durch eine Funktion die alle vorhandenen Dateien eines Ordners in ein Array schreibt?
ZitatDienstag, 11. April 2006, 16:18
Oh Franzi, das ist doch Leichenschändung. ![]()
Zur Frage: Schau mal _FileListToArray() an.
Danke, genau das habe ich gesucht.