2017-02-15 635 views
0

我試圖使用exec使用tcl代碼運行cmd命令,如dir,但終端窗口打開並且無法存儲結果,當命令有運行,變成一個變量?使用tcl執行cmd命令而無需打開終端窗口

這是我一直在努力,到目前爲止,

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

當我打印出來使用變量,

puts $res 

我回來只是三位或四位代碼,而不是實際的命令運行時的結果。

任何幫助表示讚賞。

回答

2
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