我試圖包裝cmd.exe控制檯,並希望能夠使用底層的命令解釋器由我的應用程序運行。這將允許我爲ex執行動態創建的腳本和其他事情(問題不在於如何執行動態創建的腳本,而是圍繞shell的不同命令獲取解釋器循環)。我的最後一個選擇是自己重寫命令(copy,dir,...),而是重用cmd.exe解釋器。是否有一個接口cmd.exe
Thx
我試圖包裝cmd.exe控制檯,並希望能夠使用底層的命令解釋器由我的應用程序運行。這將允許我爲ex執行動態創建的腳本和其他事情(問題不在於如何執行動態創建的腳本,而是圍繞shell的不同命令獲取解釋器循環)。我的最後一個選擇是自己重寫命令(copy,dir,...),而是重用cmd.exe解釋器。是否有一個接口cmd.exe
Thx
那麼這可能會很困難。但是,您可以使用/k command
選項調用cmd.exe,並將stdin/stdout重定向到您自己的緩衝區。有關stdin/out重定向的信息,請參閱Creating a Child Process with Redirected Input and Output。
看看CMD.EXE replacemnt開源項目 - Console你也許可以修改這個代碼
其實我已經做到了這一點,它的工作原理,但這個問題是,你不能得到告知,命令完成後,您必須在輸出句柄上等待,看看您是否沒有更多的東西,並獲得最後輸出的提示。這有點蹩腳,這就是爲什麼我希望能夠直接與底層interperter對話,以便能夠控制每一個命令命令 – user246456 2010-01-13 16:31:38
@ user246456檢查作爲最後輸出的提示有什麼錯?這與人們通常使用的信號相同。這是可靠的。你缺乏什麼控制? – barlop 2010-11-12 13:20:16