具有输入和输出文件的 C# 进程

发布于 2024-12-01 11:32:34 字数 598 浏览 1 评论 0原文

创建新流程时,您可以在启动流程之前为其提供一些 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 的东西并将其用作输入,但我认为也许有更好的解决方案。 有什么建议吗?

提前致谢!

When creating a new process you can give some StartInfo with it before you start the process.
But how would one give the input of/output to parameter.
the output to is achievable through a File.WriteAllLines() with the output of the command.

But now the following must me achieved:

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

But when we give the

add site /in < iisSite.xml 

with the arguments method of StartInfo appcmd thinks it is a parameter for it's program.
See this error

  Failed to process input: The parameter      

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

So we need somehow the same parsing as the command prompt would do it.

What could be possible is something like ReadAllLines and use that as an input, but I thought maybe there is a better solution.
Any suggestions?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

糖粟与秋泊 2024-12-08 11:32:34

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

编辑

直接来自雷蒙德

Stream redirection like that is a feature of the command processor cmd. If you want to do that then you need to invoke it and send your arguments. See EDIT2 and EDIT3 in this post.

EDIT

And direct from Raymond

长途伴 2024-12-08 11:32:34

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

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

并让您的程序吐出所有输出,就像打印到控制台一样

using < is not the way to do it. Use >

so for example: appcmd.exe add site /in > iisSiteExport.xml

and have your program spit out all the output as if it was printing to the Console

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文