创建新进程时,可以在启动进程之前给它一些StartInfo。但是怎么把输入/输出给参数呢?可以通过带有命令输出的File.WriteAllLines()实现输出。
但现在我必须实现以下目标:
C:WindowsSystem32inetsrvappcmd.exe add site /in < iisSite.xml
但是当我们给
add site /in < iisSite.xml
使用StartInfo的arguments方法的appcmd认为它是它的程序的参数。查看此错误
Failed to process input: The parameter
'd:importiisSite.xml' must begin with a / or - (HRESULT=80070057).
所以我们需要以某种方式进行与命令提示符相同的解析。
可能是像ReadAllLines这样的东西,并使用它作为输入,但我想也许有一个更好的解决方案。有什么建议吗?
提前感谢!
这样的流重定向是命令处理程序cmd
的一个特性。如果你想那样做,那么你需要调用它并发送你的参数。参见本文的EDIT2和EDIT3。
编辑
直接来自Raymond
using <不是这样做的。使用>
例如:appcmd.exe add site /in > iisSiteExport.xml
,让你的程序吐出所有的输出,就好像它正在打印到Console