如何检查目录中是否存在多个文件

时间:2015-11-03 05:27:27

标签: tcl tk

我想检查目录中是否存在具有相同扩展名的多个文件,如果找到则执行操作。由于文件存在只接受一个参数作为文件名,它似乎不适合我。

我尝试了以下代码。

set filenames [glob *.cpf]

      if {[file exists $filenames == 1 }  {
      file delete {*} [glob *.cpf]
} 

此代码没有删除文件,例如:目录中的a.cp,b.cpf,似乎正在跳过此步骤。 如果我错过了什么,请建议。

1 个答案:

答案 0 :(得分:1)

您可能需要检查收到的文件名的长度并循环浏览(如果您需要)并根据需要进行删除。

set filenames [glob -nocomplain *.cpf]
# If length of 'filenames' is more than 1 means, multiple files avaialble
if {[llength $filenames]>1} {
    # Your file operations
    foreach fname $filenames    {
        # Loop through the file
    }
}

如果没有匹配的模式,标记-nocompain将帮助我们防止任何错误消息。

参考: glob