2012-04-25 197 views
0

我有一些需要運行的命令行實用程序的vbs文件。 但在某些情況下,這些使用情況可能會提示用戶繼續輸入。我希望能夠捕捉這些條件,提供「是」的答案,然後繼續。如何通過vbs執行命令

這是我到目前爲止有:

Dim oExec 
set oExec = objShell.Exec("mycmd pw ....") 

do while not oExec.StdOut.AtEndofStream 
    wscript.echo "status of script: " & oExec.Status 
    input = input & oExec.StdOut.ReadLine() 
    if instr(input, "create key? (y/n)") <> 0 Then exit do 
loop 
oExec.Stdin.Write "y" 

當我做到這一點,沒有任何反應。我看到我插入的調試語句...但腳本似乎掛起。

任何幫助,將不勝感激。

回答

0

使用管道:echo y | your_command。這會將'y'放入您的流程標準版中。

如果下一個命令不使用stdin作爲輸入(它的實現使用鍵盤相關的API),那麼沒有簡單的方法來解決這個問題。