Process.Start,使用空格和竖线传递单个参数

时间:2015-05-25 17:29:47

标签: vb.net windows shell adb command-line-arguments

我试图将一个参数传递给adb.exe,即

  

shell dumpsys窗口|找到" mUnrestrictedScreen"

但是,控制台返回

  

find:mUnrestrictedScreen:没有这样的文件或目录

我认为这是由于我在论证中的间距,他们认为每个间距都有不同的参数。它只读出整个论点的后半部分:

  

找到" mUnrestrictedScreen"

在我手机的文件目录中搜索

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    Dim oProcess As New Process()
    Dim oStartInfo As New ProcessStartInfo("Tools\adb.exe")
    oStartInfo.UseShellExecute = False
    oStartInfo.RedirectStandardOutput = True
    oProcess.StartInfo = oStartInfo
    oStartInfo.Arguments = "shell dumpsys window | find ""mUnrestrictedScreen"" "
    oProcess.Start()

    Dim sOutput As String
    Using oStreamReader As System.IO.StreamReader = oProcess.StandardOutput
        sOutput = oStreamReader.ReadToEnd()
    End Using
    Console.WriteLine(sOutput)
End Sub

我试过使用这个论点:

  

shell dumpsys窗口

并且它正确返回所有值,但我需要使用find

缩小范围
  

|找到"" mUnrestrictedScreen""

但它不允许我这样做!

所以问题是,如何将整个参数作为单个参数传递? 提前谢谢!

编辑: 我相信它不是空格,而是更多的垂直条使它通过2个参数而不是1

0 个答案:

没有答案