2016-08-09 53 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