Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8608769
  • 博文数量: 1413
  • 博客积分: 11128
  • 博客等级: 上将
  • 技术积分: 14685
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-13 10:03
个人简介

follow my heart...

文章分类

全部博文(1413)

文章存档

2013年(1)

2012年(5)

2011年(45)

2010年(176)

2009年(148)

2008年(190)

2007年(293)

2006年(555)

分类:

2009-03-27 23:42:01

在python下面有一个os.listdir()可以枚举一个目录下面所有的文件及文件夹.但是在tcl里面有什么办法,一直在寻找.发现有一个叫做glob的命令,而且支持通配符.通过递归,可以非常轻松的在某个目录下面的文件名.下面的例子,稍加修改就可用于正常工作当中.

proc FindFile { startDir namePat } {
   set pwd [pwd]
   if {[catch {cd $startDir} err]} {
      puts stderr $err
      return
   }
   foreach match [glob -nocomplain -- $namePat] {
      puts stdout [file join $startDir $match]
   }
   foreach file [glob -nocomplain *] {
      if [file isdirectory $file] {
         FindFile [file join $startDir $file] $namePat
      }
   }
   cd $pwd
}

FindFile /home/riverbird/java/ "*.java"

阅读(2689) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-12-09 16:01:52

死循环