我有一个批处理文件,要求在该过程中间输入一些用户输入文本。我需要通过c#代码运行这个批处理文件。我无法更改bat文件。所以具有命令行参数的选项对我来说也不起作用。有什么方法可以在提示时提供输入吗?
答案 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();
和类似方法“监听”其标准输出