2015-08-30 47 views
0

UFT中存在以下簡單問題。從UFT控制檯閱讀的元素數量錯誤

我的腳本是:

Dim testShell 
Set testShell = CreateObject ("wscript.shell") 
testShell.exec "cmd /K CD C:\ & Dir" 
msgbox(testShell.Exec.StdOut) 

使我有以下錯誤:

Wrong number of Arguments : 'testShell.exec' Line (4): "msgbox(testShell.Exec.StdOut)".

我已經在幾個VB腳本這樣遠遠的看着,有它似乎沒有問題的工作。爲什麼我的腳本失敗?我非常肯定這是非常愚蠢和簡單的事情,但我看不到我的錯誤。我只想將我的shell的輸出變成一個變量,所以我可以使用它。

回答

3

您需要通過.Exec返回的對象,以獲得.StdOut,其內容和/K應該是/C

>> Set testShell = CreateObject ("wscript.shell") 
>> Set oExec = testShell.exec("%comspec% /C CD C:\ & Dir") 
>> WScript.Echo oExec.StdOut.ReadAll() 
>> 
Volume in drive C has no label. 
... 
25.05.2011 19:32 <DIR>   apache-ant-1.8.2 
... 
+0

是什麼/ C呢?現在嘗試一下。 – tarrasch

+2

@tarrasch - ['cmd'](https://technet.microsoft.com/en-us/library/bb490880.aspx)創建一個新的命令解釋器。 '/ k'在命令運行後保持打開狀態。命令運行後'/ c'關閉它。 – Bond

+0

問題解決了。謝謝 ! – tarrasch