Why can't i do this in TCL:

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

The string path will get the value:

"C:/Program".

But if I remove the spaces it will get the full path... Anyone got an idea?

有帮助吗?

解决方案

It's because the code for running a subprocess with pipe takes a Tcl list after the | character. Build and run it like this:

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

(Later items in that list are the arguments to pass to prgrm.exe.)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top