c#进程的输入和输出文件

本文关键字:输出 文件 输入 进程 | 更新日期: 2023-09-27 18:06:37

创建新进程时,可以在启动进程之前给它一些StartInfo。但是怎么把输入/输出给参数呢?可以通过带有命令输出的File.WriteAllLines()实现输出。

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

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

但是当我们给

add site /in < iisSite.xml 
使用StartInfo的arguments方法的

appcmd认为它是它的程序的参数。查看此错误

  Failed to process input: The parameter      
  'd:'import'iisSite.xml' must begin with a / or - (HRESULT=80070057).

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

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

提前感谢!

c#进程的输入和输出文件

这样的流重定向是命令处理程序cmd的一个特性。如果你想那样做,那么你需要调用它并发送你的参数。参见本文的EDIT2和EDIT3。

编辑

直接来自Raymond

using <不是这样做的。使用>

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

,让你的程序吐出所有的输出,就好像它正在打印到Console