首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用C#以编程方式运行命令行代码

使用C#以编程方式运行命令行代码
EN

Stack Overflow用户
提问于 2012-12-06 06:32:53
回答 3查看 66.6K关注 0票数 24

我正在使用在windows命令提示符中运行的代码。但我需要使用C#代码以编程方式完成这一工作

C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -pdf "connection Strings“C:\User\XXX\Desktop\connection string\DNN”

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-06 06:34:11

您可以使用Process.Start方法:

代码语言:javascript
运行
复制
Process.Start(
    @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe",
    @"-pdf ""connection Strings"" ""C:\Users\XXX\Desktop\connection string\DNN"""
);

或者,如果您希望对shell有更多的控制,并且能够捕获标准输出和错误,可以使用the overload获取一个ProcessStartInfo

代码语言:javascript
运行
复制
var psi = new ProcessStartInfo(@"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe")
{
    Arguments = @"-pdf ""connection Strings"" ""C:\Users\XXX\Desktop\connection string\DNN""",
    UseShellExecute = false,
    CreateNoWindow = true
};
Process.Start(psi);
票数 25
EN

Stack Overflow用户

发布于 2012-12-06 07:06:36

尝尝这个

代码语言:javascript
运行
复制
ExecuteCommand("Your command here");

使用过程调用它

代码语言:javascript
运行
复制
 public void ExecuteCommand(string Command)
    {
        ProcessStartInfo ProcessInfo;
        Process Process;

        ProcessInfo = new ProcessStartInfo("cmd.exe", "/K " + Command);
        ProcessInfo.CreateNoWindow = true;
        ProcessInfo.UseShellExecute = true;

        Process = Process.Start(ProcessInfo);
    }
票数 36
EN

Stack Overflow用户

发布于 2012-12-06 06:38:23

您应该能够使用一个进程来完成这个任务。

代码语言:javascript
运行
复制
        var proc = new Process();
        proc.StartInfo.FileName = @"C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe ";
        proc.StartInfo.Arguments = string.Format(@"{0} ""{1}""" ""{2}""","-pdf","connection Strings" ,"C:\Users\XXX\Desktop\connection string\DNN");
        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.RedirectStandardOutput = true;
        proc.Start();
        string outPut = proc.StandardOutput.ReadToEnd();

        proc.WaitForExit();
        var exitCode = proc.ExitCode;
        proc.Close();
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13738168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档