我想使用TCL删除目录中的所有文件。 (我在Win 10下使用Xilinx Vivado的TCL控制台。)我在TCL documentation中发现
file delete ?-force? ?- -? pathname ?pathname ... ?
应该工作。 但是
file delete -force -- [glob *]
什么都不做。 怎么了?
答案 0 :(得分:5)
做到这一点
file delete -force -- {*}[glob *]
...,以便将[glob]
返回的路径名转换为[file delete]
的多个参数(使用扩展运算符{*}
),而不是一个参数表示一个列表。路径名([file delete]
作为一个非常复杂的文件路径)。
或者,在8.5之前的Tcl上,使用显式循环:
foreach path [glob *] {
file delete -force -- $path
}
答案 1 :(得分:2)
您需要考虑的其他事项:
glob
command的-type
选项。fileutil::traverse
和fileutil
软件包是相关的。