4

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

4

3 回答 3

8

怎么样

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

?

文档:foreachglobsource

于 2015-02-26T13:55:40.340 回答
2

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

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

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

于 2015-02-26T13:53:20.213 回答
0

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

package require fileutil
foreach script [fileutil::findByPattern $baseDir *.tcl] {
    source $script
}
于 2021-12-31T22:49:23.247 回答