我想检查目录中是否存在具有相同扩展名的多个文件,如果找到则执行操作。由于文件存在只接受一个参数作为文件名,它似乎不适合我。
我尝试了以下代码。
set filenames [glob *.cpf]
if {[file exists $filenames == 1 } {
file delete {*} [glob *.cpf]
}
此代码没有删除文件,例如:目录中的a.cp,b.cpf,似乎正在跳过此步骤。 如果我错过了什么,请建议。
丹
答案 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