执行从代码CMD命令(Execute CMD command from code)

2019-06-18 07:09发布

在C#WPF:我想执行一个CMD命令,究竟如何可以以编程方式执行cmd命令?

Answer 1:

这里有一个简单的例子:

Process.Start("cmd","/C copy c:\\file.txt lpt1");


Answer 2:

正如其他的答案中提到,您可以使用:

  Process.Start("notepad somefile.txt");

然而,还有另一种方式。

你可以实例的Process对象,并调用启动实例方法:

  Process process = new Process();
  process.StartInfo.FileName = "notepad.exe";
  process.StartInfo.WorkingDirectory = "c:\temp";
  process.StartInfo.Arguments = "somefile.txt";
  process.Start();

这样做,这样可以让你在启动过程之前配置更多的选择。 Process对象还允许您检索有关进程的信息,而它正在执行,它会给你一个通知(通过已退出事件)当过程结束。

另外:如果你想挂钩“已退出”事件,不要忘记设置“process.EnableRaisingEvents”为“真”。



Answer 3:

使用的Process.Start :

using System.Diagnostics;

class Program
{
    static void Main()
    {
        Process.Start("example.txt");
    }
}


Answer 4:

如果你想用CMD使用此代码来启动应用程序:

string YourApplicationPath = "C:\\Program Files\\App\\MyApp.exe"   
ProcessStartInfo processInfo = new ProcessStartInfo();
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.FileName = "cmd.exe";
processInfo.WorkingDirectory = Path.GetDirectoryName(YourApplicationPath);
processInfo.Arguments = "/c START " + Path.GetFileName(YourApplicationPath);
Process.Start(processInfo);


Answer 5:

你怎么样创造你想要的命令的批处理文件,并使用的Process.Start称之为

dir.bat内容:

dir

然后调用:

Process.Start("dir.bat");

会调用批处理文件并执行DIR



Answer 6:

您可以使用此工作cmdC#:

ProcessStartInfo proStart = new ProcessStartInfo();
Process pro = new Process();
proStart.FileName = "cmd.exe";
proStart.WorkingDirectory = @"D:\...";
string arg = "/c your_argument";
proStart.Arguments = arg;
proStart.WindowStyle = ProcessWindowStyle.Hidden;
pro.StartInfo = pro;
pro.Start();

不要忘了你的论点之前写/ C!



Answer 7:

哎呀:D不是最快

Process.Start("notepad C:\test.txt");


Answer 8:

你问如何弹出一个命令行窗口? 如果是这样,你可以使用Process对象 ...

Process.Start("cmd");


Answer 9:

除了上述问题的答案,你可以使用一个小的扩展方法:

public static class Extensions
{
   public static void Run(this string fileName, 
                          string workingDir=null, params string[] arguments)
    {
        using (var p = new Process())
        {
            var args = p.StartInfo;
            args.FileName = fileName;
            if (workingDir!=null) args.WorkingDirectory = workingDir;
            if (arguments != null && arguments.Any())
                args.Arguments = string.Join(" ", arguments).Trim();
            else if (fileName.ToLowerInvariant() == "explorer")
                args.Arguments = args.WorkingDirectory;
            p.Start();
        }
    }
}

并使用它像这样:

// open explorer window with given path
"Explorer".Run(path);   

// open a shell (remanins open)
"cmd".Run(path, "/K");


文章来源: Execute CMD command from code