TCL在c上查找特定文件:/

时间:2016-08-10 13:14:14

标签: file tcl glob

我想搜索一下在我的硬盘上搜索名为hw.exe的文件的代码。

我找到了以下代码:

set files [glob hw.exe]
    set sofar -1

    foreach f $files {
            set size [file size $f]
            if {$size > $sofar} {
                    set sofar $size
                    set name $f
                    }
            }

    puts "Biggest files is $name at $sofar bytes"

有任何人有想法纠正这个问题吗?或者有功能吗?

1 个答案:

答案 0 :(得分:2)

如果您编写了正确的过滤器,Tcllib中的fileutil package具有您正在寻找的功能。然后可以在返回的列表上查找最大的文件,该列表应该远小于驱动器上所有文件的列表!

package require fileutil

proc filter {name} {
    return [string match hw.exe $name]
}
set hwlist [fileutil::find C:/ filter]

set sofar -1
set name ""
foreach f $hwlist {
    set size [file size $f]
    if {$size > $sofar} {
        set name $f
        set sofar $size
    }
}
puts "Found $name of size $sofar"