使用tcl执行cmd命令而无需打开终端窗口

问题描述:

我试图使用exec使用tcl代码运行cmd命令,如dir,但终端窗口打开并且无法存储结果,当命令有运行,变成一个变量?使用tcl执行cmd命令而无需打开终端窗口

这是我一直在努力,到目前为止,

set res [exec cmd.exe /c "dir" &]; 

当我打印出来使用变量,

puts $res 

我回来只是三位或四位代码,而不是实际的命令运行时的结果。

任何帮助表示赞赏。

set res [exec cmd.exe /c "dir" &] 

&在执行结束时表示该命令将在后台处理。返回的结果是该命令的进程标识。

做你想做什么,可以使用:

set res [exec cmd.exe /c "dir"] 

这将是更为有效和更耗资源使用内置glob命令获取文件的列表或搜索文件。

set res [glob *.txt] 

set res [glob -directory {C:/Program Files} *] 

参考文献:execglob