删除tcl中的文件时文件名太长错误

NAV*_*ASH 3 linux tcl delete-file

我正在尝试删除文件.来自tcl脚本的vcd扩展.但我得文件名太长错误.我试过了puts [file delete [glob *.vcd]].这样做的正确方法是什么?

kab*_*nus 5

问题是

file delete [glob *.vcd]
Run Code Online (Sandbox Code Playgroud)

不评估你的想法.glob太晚了,整个结果(所有文件在一起)被认为是一个文件.如果您有大量文件,那将导致该错误.

今天我想你可以使用:

file delete {*}[glob *.vcd]
Run Code Online (Sandbox Code Playgroud)

立即扩张.eval file delete ...如果这不起作用,我曾经这样做(可能是旧版本的TCL).此外,puts这里没用,没有任何回报file delete.

评论中是否有一些讨论是否

eval file delete [glob stuff*]
Run Code Online (Sandbox Code Playgroud)

对于名为"rm -rf ~;"(yes,legal)的文件等奇怪的东西是安全的.答案是肯定的,奇怪的字符;在返回glob和传递时会被转义,所以有没有 很少(从不说永远不会)担心像这样奇怪的注射.