Extended globbing, non-recursively walking through directory-trees
proc globx {startDir {search *} {cb ""}} { set dirStack [list [file normalize $startDir]] set files {} set fc 0 while {[llength $dirStack]} { set newStack {} foreach dir $dirStack { # Umwege über ZwischenVar's nur wegen möglichem CallBack! set fn [glob -noc -typ f -dir $dir -- $search] set fh [glob -noc -typ {f hidden} -dir $dir -- $search] if {[string equal $cb ""]} { eval lappend files $fn $fh } else { foreach f [concat $fn $fh] { incr fc uplevel [list $cb $f] } } set dn [glob -noc -typ d -dir $dir *] set dh [glob -noc -typ {d hidden} -dir $dir *] eval lappend newStack $dn $dh } set dirStack $newStack update; # Background-Processing erleichtern } if {[string equal $cb ""]} { return [lsort $files] } else { return $fc } }