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

zxlwwiss  于 7个月前  发布在  Windows
关注(0)|答案(2)|浏览(65)

此问题在此处已有答案

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

yyhrrdl8

yyhrrdl81#

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

using System;
using System.IO;
using System.Diagnostics;

namespace ProcessStandardInputSample
{
    class StandardInputTest
    {
        static void Main()
        {
            using (Process myProcess = new Process())
            {
                myProcess.StartInfo.FileName = "text.bat";
                myProcess.StartInfo.UseShellExecute = false;
                myProcess.StartInfo.RedirectStandardInput = true;
                myProcess.StartInfo.RedirectStandardOutput = true;
                myProcess.Start();
                StreamWriter myStreamWriter = myProcess.StandardInput;
                myStreamWriter.WriteLine("test");
                Console.WriteLine(myProcess.StandardOutput.ReadToEnd());
                myProcess.WaitForExit();
            }
        }
    }
}

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

jvidinwx

jvidinwx2#

这可能对你有帮助

ProcessStartInfo processInfo;
Process process;

processInfo = new ProcessStartInfo("path to batch" );
processInfo.CreateNoWindow = true;
processInfo.UseShellExecute = false;

processInfo.RedirectStandardOutput = true;

process = Process.Start(processInfo);
string output = process.StandardOutput.ReadToEnd();
Console.WriteLine(output);
process.WaitForExit();

process.Close();

字符串

相关问题