2016-08-09 59 views
0

我使用twapi 4.1版本,以獲得打印機(「myprinter) 以下命令作品的細節打印機的詳細信息,並給了我預期的結果TCL:使用twapi包拿到

set printerData [twapi::recordarray getlist [twapi::enumerate_printers] -filter {{-name eq myprinter -nocase}}] 

不過,我。無法通過打印機名稱作爲參數傳遞給-filter選項

下面的代碼不起作用:

set printerName "myprinter" 
set printerData [twapi::recordarray getlist [twapi::enumerate_printers] -filter {{-name eq $printerName -nocase}}] 

我嘗試了不同的格式(使用subst命令和所有),但沒有工作。

任何想法如何將打印機名稱作爲參數傳遞?在此先感謝您的幫助。

--Nik

回答

1

的問題是,TCL不評估串花括號內,所以你應該使用列表命令,而不是改變你的代碼:

set printerName "myprinter" 
set printerData [twapi::recordarray getlist \ 
       [twapi::enumerate_printers] \ 
        -filter [list [list -name eq $printerName -nocase ] ]\ 
        ] 
+0

謝謝!工作! – Nik