ho un semplice file .bat (C:\dir.bat) che ha solo questa riga di codice:
dir %1
una semplice applicazione console tenta di eseguire questo .bat con questo codice
codice:
Sub Main()
Using p As New Process()
With p.StartInfo
.RedirectStandardOutput = True
.UseShellExecute = False
.FileName = "C:\dir.bat"
.Arguments = """" & "D:\Documenti\a Raccolta Programmi" & """"
.StandardOutputEncoding = Encoding.GetEncoding(437) '<== codifica MS-DOS Latin 1
End With
p.Start()
'p.WaitForExit() '<== così va in errore
Dim s As String = p.StandardOutput.ReadToEnd()
File.WriteAllText("c:\tmp\dir.txt", s, Encoding.UTF8)
End Using
Console.Write("Premere un tasto per continuare . . . ") : Console.ReadKey()
End Sub
funziona solo se elimino l'istruzione p.WaitForExit()
cosa sbaglio?