通过c#代码为批处理文件提供用户输入

时间:2014-09-16 15:15:26

标签: c# batch-file command-line

我有一个批处理文件,要求在该过程中间输入一些用户输入文本。我需要通过c#代码运行这个批处理文件。我无法更改bat文件。所以具有命令行参数的选项对我来说也不起作用。有什么方法可以在提示时提供输入吗?

1 个答案:

答案 0 :(得分:-1)

我假设您正在使用Process.Start来运行批处理脚本。在这种情况下,您可以轻松地写入脚本的标准输入,就像您直接在命令行上键入一样:

Process process = new Process();
process.StartInfo.FileName = "script.bat";
process.StartInfo.RedirectStandardInput = true;
process.StartInfo.UseShellExecute = false;
process.Start();
process.StandardInput.WriteLine("whatever the parameter is...");

如有必要,您可以通过设置:

等待脚本要求输入
process.StartInfo.RedirectStandardOutput = true;

并使用process.StandardOutput.Read();和类似方法“监听”其标准输出