变量文件名的 Tcl 正则表达式

Tcl Regex for variable filename

想让我的目录路径灵活地运行 tcl 中的脚本。路径总是一样的,只有像"V1"这样的结尾不同。也许它适用于正则表达式(例如 C:/Users/testuser/Desktop/TempTCL/*.dat)

set filename "C:/Users/testuser/Desktop/TempTCL/V1.dat"

是否可以扫描一个目录中的所有 .dat 文件和运行一个具有所有可能性的脚本?

glob命令是你需要用到的。它 returns 一个文件名列表,您可以使用 foreach 对其进行迭代(或您喜欢的任何其他内容;这是一个普通的旧列表)。您可以给出一个模式,-directory 选项使这一切变得非常简单。这里;看看这个:

set dir "C:/Users/testuser/Desktop/TempTCL"
foreach filename [glob -directory $dir *.dat] {
    puts "I found a file called $filename"
}

更改处理代码的正文(在 $filename 中使用方便的完整文件名),工作就完成了。