TCL目录访问

时间:2013-11-12 15:45:15

标签: tcl

我的问题是我一直试图在shell上运行以下命令。

set a [file mkdir ./Desktop/New]
set b [open $a/new.rpt w]

希望a引用新文件夹

解释器不会返回任何错误,所以我认为我可以这样做 - >

set b [open $a/new.rpt w]

这次显示的错误是 - >

couldn't open "/new.rpt": permission denied

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

file mkdir的结果(成功时)是一个空字符串。 (如果失败,您会收到catchtry … trap …的例外情况。)要执行您想要的操作,请将值放在变量

set a ./Desktop/New
file mkdir $a
set b [open $a/new.rpt w]

你可能也希望在某些时候这样做:

set a [file normalize $a]

这将删除对当前目录的引用,并将$a转换为绝对文件名,如果您有时会执行cd /somewhere/else,这将非常有用。