Posted to tcl by aspect at Thu Jul 14 07:02:30 GMT 2011view raw

  1. proc ls-R {path} {
  2. set result {}
  3. foreach item [glob -nocomplain -directory $path *] {
  4. if {[file isdirectory [file join $path $item]]} {
  5. dict set result $item [ls-R [file join $path $item]]
  6. } else {
  7. dict set result $item {}
  8. }
  9. }
  10. return $result
  11. }
  12.  
  13. puts [ls-R [lindex $argv 0]]
  14.