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?
![]()

Rispondi quotando