windows 如何使用批处理文件C# [复制]

zxlwwiss  于 2023-11-21  发布在  Windows
关注(0)|答案(2)|浏览(152)

此问题在此处已有答案

Reading Batch shell script output into C# .Net Program(3个答案)
18天前关门了。
我有一个名为"text.bat"的文件(示例),如果您执行它要求提示“test”的文件,则输出“testtest”
我如何监视批处理文件的输出,以及输入。

yyhrrdl8

yyhrrdl81#

您需要重定向进程的输入和输出:

  1. using System;
  2. using System.IO;
  3. using System.Diagnostics;
  4. namespace ProcessStandardInputSample
  5. {
  6. class StandardInputTest
  7. {
  8. static void Main()
  9. {
  10. using (Process myProcess = new Process())
  11. {
  12. myProcess.StartInfo.FileName = "text.bat";
  13. myProcess.StartInfo.UseShellExecute = false;
  14. myProcess.StartInfo.RedirectStandardInput = true;
  15. myProcess.StartInfo.RedirectStandardOutput = true;
  16. myProcess.Start();
  17. StreamWriter myStreamWriter = myProcess.StandardInput;
  18. myStreamWriter.WriteLine("test");
  19. Console.WriteLine(myProcess.StandardOutput.ReadToEnd());
  20. myProcess.WaitForExit();
  21. }
  22. }
  23. }
  24. }

字符串
你可以在ProcessStartInfo.RedirectStandardInput PropertyProcessStartInfo.RedirectStandardOutput Property中找到很好的解释。

展开查看全部
jvidinwx

jvidinwx2#

这可能对你有帮助

  1. ProcessStartInfo processInfo;
  2. Process process;
  3. processInfo = new ProcessStartInfo("path to batch" );
  4. processInfo.CreateNoWindow = true;
  5. processInfo.UseShellExecute = false;
  6. processInfo.RedirectStandardOutput = true;
  7. process = Process.Start(processInfo);
  8. string output = process.StandardOutput.ReadToEnd();
  9. Console.WriteLine(output);
  10. process.WaitForExit();
  11. process.Close();

字符串

展开查看全部

相关问题