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

Afr*_*fra 3 string tcl pathname

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

set path "|C:/Program Files/Example/My Program/prgrm.exe"
Run Code Online (Sandbox Code Playgroud)

字符串路径将获取值:

"C:/Program".
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除空格,它将获得完整的路径...任何人有一个想法?

Don*_*ows 8

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

set path "C:/Program Files/Example/My Program/prgrm.exe"
set pipe [open |[list $path]]
Run Code Online (Sandbox Code Playgroud)

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