외부 배치 스크립트의 올바른 출력을 제공하지 않음 C#
-
20-09-2019 - |
문제
배치 스크립트의 출력을 제공하려면 프로그램이 필요하며 현재 인쇄입니다.
System.IO.StreamReader
배치 스크립트가 말하는 것이 무엇이든 인쇄해야합니다.
이것은 새로운 프로세스를 시작하는 것과 관련된 부분 일 뿐이며 파일 경로와 같은 변수가 선언되고 스크립트 자체가 실행되지만 적절한 출력을 표시하지 않습니다.
Process Uninstaller = new Process();
Uninstaller.StartInfo.FileName = Path.Combine(uninstalldirectory, BatchProcessFileName);
Uninstaller.StartInfo.UseShellExecute = false;
Uninstaller.StartInfo.CreateNoWindow = true;
Uninstaller.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
Uninstaller.StartInfo.RedirectStandardOutput = true;
Uninstaller.Start();
StreamReader ReadUninstallerOutput = Uninstaller.StandardOutput;
Uninstaller.Close();
string OutputEnd = ReadUninstallerOutput.ReadToEnd();
Console.WriteLine(ReadUninstallerOutput);
ReadUninstallerOutput.Close();
Console.WriteLine("Uninstallation Successful");
해결책
바꾸다
Console.WriteLine(ReadUninstallerOutput);
~와 함께
Console.WriteLine(OutputEnd);
다른 팁
콘솔 쓰기가 있기 때문입니다 ReadUninstallerOutput
, 이것은 원하는 데이터가있는 문자열이 아니라 객체이며 모든 방법이 수행하는 것입니다. ToString
해당 유형의 메소드. 코드에서 판단하면 다음을 대체하고 싶을 것입니다.
Console.WriteLine(ReadUninstallerOutput);
와 함께:
Console.WriteLine(OutputEnd);
제휴하지 않습니다 StackOverflow