所以,我有这个代码来调用批处理文件。
If System.IO.File.Exists(FSourceFile) Then
Dim psi As New ProcessStartInfo(batchFileLoc + batchFileName)
psi.RedirectStandardOutput = True
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden
psi.UseShellExecute = False
Dim myProcess As Process = Process.Start(psi)
Dim output As String = myProcess.StandardOutput.ReadToEnd()
myProcess.WaitForExit(180000)
If (myProcess.HasExited) Then
Throw New Exception("FTP failed due to time-out. Please check the connectivity to FTP server.")
End If
FTPFile = "Success"
End If
如果批处理文件执行未在 3 分钟内完成,我希望“myProcess”应该退出。但即使批处理文件执行在不到 2 秒的时间内完成,myProcess.HasExited 也会
返回 True。如果我输入 2000 而不是 180000,则该过程可以正常工作。这里出了什么问题?