[問題]tcl 怎么与dos 完成交互

探討「內嵌」以及「腳本化」這兩個主題的技術-版主XO老師(熟悉的目前是 Tcl,討論內容也會環繞在 Tcl 四周,但是本版還是歡迎其他 Scripting 語言以及任何「內嵌」技術的討論。)

版主: b80203, ghost3401, XO, maa

分享到: Facebook

[問題]tcl 怎么与dos 完成交互

文章demon0354 » 週三 2月 15, 2012 4:54 pm

tcl 怎么与dos 完成交互?

在不考虑expect的情况下 怎么用tcl 访问dos 并下发命令,同时取得返回值
QQ:467182410
demon0354
剛學走路的小朋友
 
文章: 6
註冊時間: 週四 12月 08, 2011 2:12 pm

Re: [問題]tcl 怎么与dos 完成交互

文章XO » 週三 2月 15, 2012 6:14 pm

demon0354 寫:tcl 怎么与dos 完成交互?

在不考虑expect的情况下 怎么用tcl 访问dos 并下发命令,同时取得返回值


猜想你應該是在使用 DOS Internal commands, 像是 dir, type,... 等時,不知道怎麼
下指令吧?

早期 DOS/Windows 底下 dir, type, copy,... 這些內部指令是由 command.com 來完成的,現今
Windows 則是由 cmd.exe 來負責。

可以試試 ...

代碼: 選擇全部
set result [exec cmd.exe /C "dir *.*"]


如果是外部指令例如 xcopy.exe 則可以直接 exec 無須經由 cmd.exe 來執行:

代碼: 選擇全部
set result [exec xcopy.exe /?]
eXtra Old 的是我「不是酒」哦!
제 이름은 오조휘 입니다

臉書裡依舊是 Extra.Old: http://www.facebook.com/extra.old
頭像
XO
資管系教師
 
文章: 5319
註冊時間: 週二 4月 27, 2004 12:20 pm
來自: CQ Inc.

Re: [問題]tcl 怎么与dos 完成交互

文章jimmy » 週四 2月 16, 2012 2:58 am

代碼: 選擇全部
set fd [open "|cmd.exe" w+]
fconfigure $fd -blocking 0
puts $fd "ping 127.0.0.1"
flush $fd
read $fd


類似這樣嗎,開一個通道起來溝通
jimmy
問題很多的小學生
 
文章: 10
註冊時間: 週四 12月 23, 2010 8:28 am

Re: [問題]tcl 怎么与dos 完成交互

文章demon0354 » 週五 2月 17, 2012 11:56 am

jimmy 寫:
代碼: 選擇全部
set fd [open "|cmd.exe" w+]
fconfigure $fd -blocking 0
puts $fd "ping 127.0.0.1"
flush $fd
read $fd


類似這樣嗎,開一個通道起來溝通


感谢· 感谢
QQ:467182410
demon0354
剛學走路的小朋友
 
文章: 6
註冊時間: 週四 12月 08, 2011 2:12 pm


回到 內嵌與腳本化(Embedding & Scripting)

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客