Quantcast
Channel: Forum Pasja Informatyki - Najnowsze pytania
Viewing all articles
Browse latest Browse all 65225

c# polecenia do cmd

$
0
0

Witam.

Piszę program który wykonywał polecenia w cmd i wypisywał po każdym wynik, na początku za każdym poleceniem tworzyłem nowy Process cmd i dawałem mu w argumencie /c i komendy jakie ma wykonać. Nie było to jednak zbyt dobre gdyż jak np. użyło się polecenia cd C:/ to powinno w następnym poleceniu o tym pamiętać. Mam teraz taki kod:

ProcessStartInfo psi = new ProcessStartInfo();
                psi.RedirectStandardOutput = true;
                psi.RedirectStandardInput = true;
                psi.FileName = "cmd.exe";
                psi.UseShellExecute = false;
                using (Process p = Process.Start(psi))
                {
                    p.StandardInput.WriteLine(komenda); // komenda to string komenda do wykonania
                    p.StandardInput.Flush();
                    string output = p.StandardOutput.ReadToEnd();
                    
                }

Niestety metoda p.StandardOutput.ReadToEnd(); blokuje cały wątek i nigdy nie zwraca wyniku, wcześniej działała dobrze. Wiecie może co powinieniem zmienić?


Viewing all articles
Browse latest Browse all 65225

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>