如何检查目录中是否存在多个文件
How to check if multiple file exists in a directory
我想检查一个目录中是否存在多个具有相同扩展名的文件,如果找到则执行操作。由于 file exists 只接受一个参数作为文件名,它似乎对我不起作用。
我尝试了以下代码。
set filenames [glob *.cpf]
if {[file exists $filenames == 1 } {
file delete {*} [glob *.cpf]
}
此代码没有删除目录中的文件,例如:a.cp、b.cpf,似乎跳过了这一步。
如果我遗漏了什么,请提出建议。
段
您可能需要检查接收到的文件名的长度并循环(如果需要)并根据需要删除。
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
我想检查一个目录中是否存在多个具有相同扩展名的文件,如果找到则执行操作。由于 file exists 只接受一个参数作为文件名,它似乎对我不起作用。
我尝试了以下代码。
set filenames [glob *.cpf]
if {[file exists $filenames == 1 } {
file delete {*} [glob *.cpf]
}
此代码没有删除目录中的文件,例如:a.cp、b.cpf,似乎跳过了这一步。 如果我遗漏了什么,请提出建议。
段
您可能需要检查接收到的文件名的长度并循环(如果需要)并根据需要删除。
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