如何解决从进程运行以捕获输出时,无法识别chgport命令
我正在尝试使用VB.NET确定哪些串行端口可用。当我从命令行运行批处理文件时,它工作正常。当我尝试运行它并捕获输出时,无法识别chgport命令,如下所示
我尝试将UseShellExecute更改为False,但是它说必须为true才能捕获输出。
我尝试对路径非常具体,甚至使用命令外壳运行chgport命令。没有任何改变。
有什么想法导致从命令行运行与在进程中运行以捕获输出之间的差异?
' Fill in the com ports and file versions
Dim oProcess As New Process()
Dim oStartInfo As New processstartinfo("c:\xpp_prog\ports_and_files.bat","")
oStartInfo.UseShellExecute = False
oStartInfo.RedirectStandardOutput = True
oStartInfo.RedirectStandardError = True
oProcess.StartInfo = oStartInfo
oProcess.Start()
Dim sOutputS As String
Using oStreamReader As System.IO.StreamReader = oProcess.StandardOutput
sOutputS = oStreamReader.ReadToEnd()
End Using
Dim sOutputE As String
Using oStreamReader As System.IO.StreamReader = oProcess.StandardError
sOutputE = oStreamReader.ReadToEnd()
End Using
MsgBox(sOutputS + sOutputE)
这是批处理文件:
@echo off
cmd /c C:\Windows\System32\chgport.exe
dir c:\xpp_prog\build_*
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。