将应用程序输出的特定行存储在变量中

时间:2014-02-18 03:15:46

标签: windows vbscript

我正在使用ImageMagick Identify实用程序来获取图像信息,这里是在VBScript中使用它的代码:

Dim SH
Set SH = WScript.CreateObject("WScript.Shell")
SH.Run ".\identify.exe -verbose D:\Scans\1.jpg"

它将启动identify.exe并在控制台窗口中显示jpg的信息,它将关闭!控制台窗口上的输出有很多行,我想将第5行存储在例如VBScript中的变量中,只是想象第5行是“Resolution 72DPI”,我想将它存储在vbscript中的ResDPI中,这样我就可以使用它了未来的目的。

Dim SH,strOut
Set SH = WScript.CreateObject("WScript.Shell")
SH.Run ".\identify.exe -verbose D:\Scans\1.jpg"
strOut = identify.exe output Line 5

怎么做?

1 个答案:

答案 0 :(得分:0)

有几种选择:

  1. 尝试将输出重定向到稍后可以解析的文件:

    sh.Run ".\identify.exe -verbose D:\Scans\1.jpg >c:\out.txt"
    
  2. 使用Exec()代替Run()。使用Exec(),您可以读取已启动应用程序的StdOutput和StdError流。