Строка с пробелами в TCL не работает - PullRequest
3 голосов
/ 08 сентября 2011

Почему я не могу сделать это в TCL:

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

Путь к строке получит значение:

"C:/Program".

Но если я уберу пробелы, то получу полныйпуть ... Кто-нибудь есть идея?

1 Ответ

8 голосов
/ 08 сентября 2011

Это потому, что код для запуска подпроцесса с конвейером принимает список Tcl после символа |. Создайте и запустите его так:

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

(Более поздние элементы в этом списке являются аргументами для передачи prgrm.exe.)

...