C#进程带有输入和输出文件

时间:2011-08-24 16:18:53

标签: c# iis-7 command-prompt appcmd

创建新流程时,您可以在启动流程之前使用它来提供一些StartInfo。 但是如何给出参数的输入/输出。 输出到的是通过File.WriteAllLines()和命令输出实现的。

但现在我必须实现以下目标:

C:\Windows\System32\inetsrv\appcmd.exe add site /in < iisSite.xml

但是当我们给出

add site /in < iisSite.xml 

使用StartInfo的参数方法appcmd认为它是它的程序的参数。 看到此错误

  Failed to process input: The parameter      

  'd:\import\iisSite.xml' must begin with a / or - (HRESULT=80070057).

所以我们需要以某种方式进行与命令提示符相同的解析。

可能的是像ReadAllLines这样的东西并将其用作输入,但我想也许有更好的解决方案。 有什么建议吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

像这样的流重定向是命令处理器cmd的一个特性。如果你想这样做,那么你需要调用它并发送你的参数。请参阅EDIT2 and EDIT3 in this post

修改

And direct from Raymond

答案 1 :(得分:0)

使用&lt;不是这样做的方式。使用&gt;

所以例如:appcmd.exe add site /in > iisSiteExport.xml

并让您的程序吐出所有输出,就像打印到Console

一样