2011-07-12 53 views
1

如何檢查文件是否存在但在tcl中爲空?我的意思是在shell中存在諸如if [ -s <file-name> ]的任何等價命令?

回答

2

你可以使用「文件大小」。如果文件不存在,這會返回一個錯誤,所以你只需要抓住它就可以了。

4

Brian Fenton has the right answer。用代碼表示他的想法:

proc -s {filename} { 
    set rc [catch {file size $filename} size] 
    return [expr {$rc == 0 && $size > 0}] 
} 

if {[-s $file]} {...} 
+0

我正在做文件的「貓」,然後應用上述操作。如果文件有文本,那麼它工作正常。如果文件爲空,則標記爲true,但應標記爲false。 –

+0

嘿,我喜歡你命名你的proc「-s」的方式,這樣它就和OP請求一樣。太好了! – TrojanName

相關問題