4 ms·
It didn't like this :( It should list out all files from C:\ let root = "C:\\"; let getdirs dir = try System.IO.Directory.GetDirectorie
by fleitz 16y ago
It didn't like this :( It should list out all files from C:\
let root = "C:\\";
let getdirs dir =
try
System.IO.Directory.GetDirectories(dir)
with
| e -> Array.empty
let rec list_files dir = seq {
yield! System.IO.Directory.GetFiles(dir);
for subdir in (getdirs dir) do
match subdir with
| x when x.StartsWith("C:\\$") -> ()
| subdir -> yield! list_files subdir
}
list_files root
|> Seq.iter (printfn "%s")
printf "done"
All types inferred.
- timrobinson 16y agoThanks for this - I'll take a look. The same code works fine when run through regular fsi.exe, so presumably something is going amiss over the Ajax interface.
- malkia 16y agoIt works here, but lists certain files from the system, and stops at "Documents And Settings" - no rights etc. I had to pad the first "let" to be at the same padding as the second one
- timrobinson 16y agoThe app got into a state where new fsi.exe processes wouldn't start up properly - they'd raise an unhandled exception and hang. I started being more diligent about cleaning up old processes.