sample.tcl.txt 523 B

123456789101112131415161718
  1. proc find {{basedir .} {filterScript {}}} {
  2. set oldwd [pwd]
  3. cd $basedir
  4. set cwd [pwd]
  5. set filenames [glob -nocomplain * .*]
  6. set files {}
  7. set filt [string length $filterScript]
  8. foreach filename $filenames {
  9. if {!$filt || [eval $filterScript [list $filename]]} {
  10. lappend files [file join $cwd $filename]
  11. }
  12. if {[file isdirectory $filename]} {
  13. set files [concat $files [find $filename $filterScript]]
  14. }
  15. }
  16. cd $oldwd
  17. return $files
  18. }