[VBS] Working with DOS Command Line

'Method 1 - Use Description Object

'Open cmd.exe
SystemUtil.Run "cmd.exe", "", "C:\Windows\system32", "open"
Dim oDesc
set oDesc = Description.Create()

oDesc
("nativeclass").value = "ConsoleWindowClass"
Dim cilObject : Set cilObject = Desktop.ChildObjects(oDesc)
'Error will occur at below line, seems the command windows opend by SystemUtil is not recognized as a child object of the desktop, 
'If you have a previous opened command window, that one will be got to do following steps
Dim objCmdWindow : Set objCmdWindow = cilObject(0) 
Dim text : text = objCmdWindow.GetROProperty("title")
print text

objCmdWindow.Type
 "ipconfig"
objCmdWindow.Type micReturn
text
 = objCmdWindow.GetVisibleText
print text

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Method 2 - Use Descriptive Programming
'This method is more easier, and no error as method 1

'Open cmd.exe
SystemUtil.Run "cmd.exe""""C:\Windows\system32""open"

Dim objCmdWindow : Set objCmdWindow = Window("nativeclass:=ConsoleWindowClass")
Dim text : text = objCmdWindow.GetROProperty("title")
print text

objCmdWindow.Type 
"ipconfig"
objCmdWindow.Type micReturn
text 
= objCmdWindow.GetVisibleText
print text

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

'Method 3 - Use Wscript.Shell Object
'To resolve large commands with large responses

Dim wShell
Set wShell = CreateObject("WScript.Shell")
Set exec = wShell.Exec("ipconfig")
print exec.StdOut.ReadAll


Note:

The Exec method returns a WshScriptExec object, which provides status and error information about a script to run with Exec along with access to the StdIn, stdOut, ans StdErr channels.





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值