Почему я не могу сделать это в TCL:
set path "|C:/Program Files/Example/My Program/prgrm.exe"
Путь к строке получит значение:
"C:/Program".
Но если я уберу пробелы, то получу полныйпуть ... Кто-нибудь есть идея?
Это потому, что код для запуска подпроцесса с конвейером принимает список Tcl после символа |. Создайте и запустите его так:
|
set path "C:/Program Files/Example/My Program/prgrm.exe" set pipe [open |[list $path]]
(Более поздние элементы в этом списке являются аргументами для передачи prgrm.exe.)
prgrm.exe