Haskell programlama dilinde yazılmış bu fonksiyonda verilen bir dizin icin alt dizinleri de dahil olmak uzere taranır ve sonuc olarak tum dosyalar kodları yazdığınız x.hs dosyasının bulunduğu dizinde "dosyalar.txt" isimli dosyaya yazılır. Bu dosyaya baktığınızda dosyaların hiyerarşik bir bicimde ; yani herhangi bir dizine ait dosyalar o dizinin isminin sutun hizasından biraz daha icerde olmak uzere yerleştirilir. Bu sayede dosyalarin hangi dizine ait oldukları da rahatca belirlenebilir. Or: dosyalarilistele "D:" Program Kodu : PHP Code:
import System.IOimport System.Environmentimport System.Directory dosyalarilistele b = getCurrentDirectory >>= \curdir -> writeFile (curdir++"\\dosyalar.txt") "" >> getDirectoryContents b >>= \dosyalist -> setCurrentDirectory b >> listele "" dosyalist (curdir++"\\dosyalar.txt") >> return () listele _ [] _ = return ()listele dl (".":fs) h = listele dl fs hlistele dl ("..":fs) h = listele dl fs hlistele dl (f:fs) h = appendFile h (dl++f++"\n") >> doesDirectoryExist f >>= \dogru -> if dogru then getDirectoryContents f>>= \dosyaic -> setCurrentDirectory f >> listele (dl++" ") dosyaic h >> setCurrentDirectory ".." >> listele dl fs h else listele dl fs h

__________________