如何使用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中运行命令[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Python不会在bash中运行,但会在cmd中运行[重复]