[REBOL] Re: Scan for files through deep directory
From: tmoeller::fastmail::fm at: 5-Mar-2006 19:12
this is the function i used last. It is a modification of a script i
dir-tree: func [
current-path [file! url!] "directory to explore"
tree [block!] "useful to avoid stack overflow"
/depth "recursion depth, 1 for current level, -1 for infinite"
if all [not inner not block? tree] [tree: copy ]
depth-arg: either all [depth integer? depth-arg] [depth-arg - 1][-1]
current-list: read current-path
if all [not none? current-list] [
foreach item current-list [
if not find/any to-string item "*log*" [
if any [find/any to-string item ".cmd" find/any to-string item
if find/any to-string item ".cmd" [write/append
%/c/allcmds.txt join current-path/:item newline]
if all [dir? current-path/:item not-equal? depth-arg 0] [
sub-tree: copy 
dir-tree/inner/depth current-path/:item sub-tree
Perhaps you have some advice for me.
On Fri, 3 Mar 2006 10:02:14 EST, SunandaDH-aol.com said:
> > Is there way to achieve this with less memory consumption???
> But it would help having a sample bad script and some knowledge of what
> going wrong.
> Diagnosing blindly, I suspect most such scripts are written to run
> recursively, so a very deep folder structure could cause them to need a
> lot of stack
> A non-recursive solution will need far less interim storage.
> But 500meg sounds a lot.
> I dusted off the equivalent script I once wrote and tried it on my folder
> structure, and it needed less than 100K of interim storage. But then may
> not have
> so deep a tree as you.
> Can you post an example of the code you are using?
> To unsubscribe from the list, just send an email to
> lists at rebol.com with unsubscribe as the subject.
http://www.fastmail.fm - IMAP accessible web-mail