如何使用c#在cmd中运行命令[重复]

Posted

技术标签:

【中文标题】如何使用c#在cmd中运行命令[重复]【英文标题】:How to run a command in cmd using c# [duplicate] 【发布时间】:2014-12-04 10:55:31 【问题描述】:

我在一个文件夹中有一个 exe 文件,在同一个文件夹中有另一个 .mobi 文件。

我通常打开 cmd 设置该文件夹的路径,然后在 cmd 中键入命令“xyz.exe strip_source 123.mobi”

我需要使用 c# 自动执行此操作。

我在这里看到的帖子很少,但没有人说如何做到这一点。

我厌倦了使用 process.start 但这只是启动 cmd.exe。

有人可以指导我完成这个吗?

【问题讨论】:

Process.Start 正是您启动外部进程的方式。您尝试了哪些方法,但没有按预期工作? 查看以下帖子:***.com/questions/1469764/run-command-prompt-commands Guys..Process.Start 打开 cmd ......那个工作,我之前尝试过......但我想做的是:1.打开 cmd 2.它应该自动设置路径例如这个目录“E:\MPC\Test”,它包含一个 exe,而它只能通过 cmd 命令运行。 3.设置路径后,应在cmd中传递一个命令,即“xyz.exe strip_source 123.mobi”..我尝试了互联网上使用的许多方法但没有成功,我是c#的新手..:)请善良:D 【参考方案1】:

你试过了吗?

System.Diagnostics.Process.Start("your_path");

【讨论】:

【参考方案2】:

Process.Start仍然是正确答案,你只需正确设置参数即可。

这里有一些非常基本的例子:http://www.dotnetperls.com/process

【讨论】:

这有效:Directory.SetCurrentDirectory(@"C:\Users\mohad\Desktop\Convert");字符串 strCmdText; strCmdText = "/C kindletool.exe strip_source 123.mobi"; System.Diagnostics.Process.Start("CMD.exe", strCmdText);【参考方案3】:

你需要使用类似下面的代码:

   //Create process
System.Diagnostics.Process pProcess = new System.Diagnostics.Process();

//strCommand is path and file name of command to run
pProcess.StartInfo.FileName = strCommand;

//strCommandParameters are parameters to pass to program
pProcess.StartInfo.Arguments = strCommandParameters;

pProcess.StartInfo.UseShellExecute = false;

//Set output of program to be written to process output stream
pProcess.StartInfo.RedirectStandardOutput = true;   

//Optional
pProcess.StartInfo.WorkingDirectory = strWorkingDirectory;

//Start the process
pProcess.Start();

//Get program output
string strOutput = pProcess.StandardOutput.ReadToEnd();

//Wait for process to finish
pProcess.WaitForExit();

【讨论】:

谢谢大家...将尝试上述步骤n让你知道结果 Guys..Process.Start 打开 cmd ......那个工作,我之前尝试过......但我想做的是:1.打开 cmd 2.它应该自动设置路径例如这个目录“E:\MPC\Test”,它包含一个 exe,而它只能通过 cmd 命令运行。 3.设置路径后,应在cmd中传递一个命令,即“xyz.exe strip_source 123.mobi”..我尝试了许多互联网上使用的方法,但没有成功,我是c#的新手..:)

以上是关于如何使用c#在cmd中运行命令[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C#应用程序如何不弹出cmd命令行窗口执行

如何在cmd中运行不同的python版本[重复]

Python不会在bash中运行,但会在cmd中运行[重复]

CMD 命令未在控制台中运行

c#在以管理员权限运行控制台命令时,怎么不让它弹出uac提示框?

bat如何执行完一条cmd命令,然后在同一窗口继续执行别的命令呢?