TCL中空格的字符串路径无效

时间:2011-09-08 09:14:15

标签: string tcl pathname

为什么我不能在TCL中这样做:

set path "|C:/Program Files/Example/My Program/prgrm.exe"

字符串路径将获得值:

"C:/Program".

但如果删除空格,它将获得完整路径...... 有人有想法吗?

1 个答案:

答案 0 :(得分:8)

这是因为使用管道运行子进程的代码在|字符后面带有 Tcl列表。像这样构建并运行它:

set path "C:/Program Files/Example/My Program/prgrm.exe"
set pipe [open |[list $path]]

(该列表中的后续项目是传递给prgrm.exe的参数。)