我正在使用twapi 4.1版本来获取打印机的详细信息(“myprinter”)。 下面的命令有效,并给出了预期的结果。
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命令和所有)但没有任何效果。
任何想法如何将打印机名称作为参数传递?在此先感谢您的帮助。
- 聂
答案 0 :(得分:1)
问题是tcl没有评估花括号内的字符串,所以你应该使用 list 命令改变你的代码:
set printerName "myprinter"
set printerData [twapi::recordarray getlist \
[twapi::enumerate_printers] \
-filter [list [list -name eq $printerName -nocase ] ]\
]