gpt4 book ai didi

tcl - 列出下面 1 级子目录中的所有文件?

转载 作者:行者123 更新时间:2023-12-04 00:43:31 28 4
gpt4 key购买 nike

我试图列出正好低于 1 级的所有 *.tcl 文件。

./dirA/x.tcl
./dirB/y.tcl
./dirC/z.tcl

我正在使用 foreach命令列出子目录下的所有文件和目录,但输出为空..
foreach dir [glob -type d *] {        
glob -path ./$dir *
}

最佳答案

首先,您可能需要 -directory选项而不是 -path选项。可以缩写为-dir .另外,您想要匹配 *.tcl 的文件,并非每个文件( * )。

foreach dir [glob -type d *] {        
glob -dir $dir *.tcl
}

二、 foreach command 不会收集它运行的脚本的结果,所以你需要自己做:
set files [list]
foreach dir [glob -type d *] {
lappend files {*}[glob -dir $dir *.tcl]
}

现在 files变量应该保存你想要的文件名。

如果您使用的是旧版本的 Tcl(8.5 之前),则需要这样编写:
set files [list]
foreach dir [glob -type d *] {
set files [concat $files [glob -dir $dir *.tcl]]
}

文档: concat , foreach , glob , lappend , set

关于tcl - 列出下面 1 级子目录中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24618592/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com