1

创建新流程时,您可以在开始流程之前提供一些 StartInfo。但是如何将输入/输出提供给参数。可以通过带有命令输出的 File.WriteAllLines() 来实现输出。

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

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

但是当我们给

add site /in < iisSite.xml 

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

  Failed to process input: The parameter      

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

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

可能的是 ReadAllLines 之类的东西并将其用作输入,但我认为也许有更好的解决方案。有什么建议么?

提前致谢!

4

2 回答 2

1

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

编辑

直接来自雷蒙德

于 2011-08-24T16:49:59.807 回答
0

使用 < 不是这样做的方法。使用 >

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

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

于 2011-08-24T16:24:25.973 回答