繁体   English   中英

使用C#,如何从批处理脚本创建的新cmd.exe运行命令?

[英]Using C#, how do I run commands from a new cmd.exe that is created by a batch script?

我有一个批处理脚本,它设置一些环境变量,然后在当前正在执行的cmd.exe中设置一个新的cmd.exe。

批处理脚本的示例:

setlocal
set foo=bar
cmd.exe

如何启动一个调用此批处理脚本的新Process()对象,然后能够将StandardInput传递给cmd.exe的新实例?

这是我当前的代码不起作用:

ProcessStartInfo procStartInfo = new ProcessStartInfo();
procStartInfo.FileName = @"C:\path\to\test.bat";

using (Process proc = Process.Start(procStartInfo))
{
    proc.StandardInput.WriteLine("echo %foo%"); // InvalidOperationException
}

您必须使用ProcessStartInfo类并设置RedirectStandardInput标志,然后提供您将提供数据的流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM