运行 文件夹中的所有 TCL 脚本

Run all TCL scripts in a folder

我有一个包含许多 TCL 文件的文件夹,我需要 运行 所有这些文件(在 Vivado 中)。我怎样才能节省 运行 一次性完成所有这些操作的时间?有没有像这样简单的东西: source [path/]*.tcl ?

您可以首先使用 glob 命令找到所有 tcl 文件,然后浏览 tcl 文件列表并获取它们。

set $dir your/path
foreach file [glob -dir $dir */*.tcl] {
    source $file
}

编辑:与 Peters 示例不同,此解决方案还在子目录中获取 .tcl 文件(请确保您需要)。

怎么样

foreach script [glob -nocomplain -dir $dir *.tcl] {source $script}

?

文档:foreach, glob, source

要运行给定目录及其子目录中的所有脚本,您可以使用tcllib,如下所示:

package require fileutil
foreach script [fileutil::findByPattern $baseDir *.tcl] {
    source $script
}