在Tcl中有一个很好的方法来测试一个给定的路径是相对路径还是绝对路径?当然,我可以明确地做到这一点:
但这看起来像是重新发明轮子。这个问题似乎很常见(例如,"文件规范化"就这样做),我怀疑Tcl库中必定有一些东西已经在做伎俩...
答案 0 :(得分:5)
使用file pathtype $path
。它会返回absolute
,relative
或volumerelative
。
答案 1 :(得分:1)
这是一种方式。请注意,此解决方案不适用于符号链接:
# Returns 1 (true) if path is absolute, 0 otherwise. Does not work
# with symbolic links
proc isAbsolute {path} {
set absolutePath [file normalize $path]
return [expr {$path eq $absolutePath}]
}