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

使用tcl执行cmd命令而不打开终端窗口,cmd,tcl,Cmd,Tcl,我试图使用exec运行命令,例如使用tcl代码运行带有cmd的dir,但是终端窗口会打开,并且当命令运行时,我无法将结果存储到变量中 这就是我一直在尝试的 set res [exec cmd.exe /c "dir" &]; 当我用 puts $res 我只返回三位或四位代码,而不是运行命令时的实际结果 感谢您的帮助 set res [exec cmd.exe /c "dir" &] exec末尾的&表示将在后台处理该命令。返回的结果是命令的进程id 要执行所需操作,请使用

我试图使用
exec
运行命令,例如使用tcl代码运行带有cmd的
dir
,但是终端窗口会打开,并且当命令运行时,我无法将结果存储到变量中

这就是我一直在尝试的

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

puts $res
我只返回三位或四位代码,而不是运行命令时的实际结果

感谢您的帮助

set res [exec cmd.exe /c "dir" &]
exec末尾的
&
表示将在后台处理该命令。返回的结果是命令的进程id

要执行所需操作,请使用:

set res [exec cmd.exe /c "dir"]
使用内置的
glob
命令来获取文件列表或搜索文件,效率更高,资源消耗更少

 set res [glob *.txt]

 set res [glob -directory {C:/Program Files} *]
参考资料: