运行命令提示符命令

有没有办法从C#应用程序中运行命令提示符命令? 如果是的话,我将如何做到以下几点:

copy /b Image1.jpg + Archive.rar Image2.jpg

这基本上在JPG图像中嵌入了一个RAR文件。 我只是想知道是否有一种方法可以在C#中自动执行此操作。 谢谢。


这是所有你必须做的从C#运行shell命令

string strCmdText;
strCmdText= "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
System.Diagnostics.Process.Start("CMD.exe",strCmdText);

编辑:

这是为了隐藏cmd窗口。

System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C copy /b Image1.jpg + Archive.rar Image2.jpg";
process.StartInfo = startInfo;
process.Start();

编辑:2

重要的是,参数以/C开头,否则它将不起作用。 Scott Ferguson如何说:它“执行由字符串指定的命令,然后终止。”


尝试@RameshVel解决方案,但我无法在我的控制台应用程序中传递参数。 如果有人遇到同样的问题,这里有一个解决方案:

using System.Diagnostics;

Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();

cmd.StandardInput.WriteLine("echo Oscar");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());

var proc1 = new ProcessStartInfo();
string anyCommand; 
proc1.UseShellExecute = true;

proc1.WorkingDirectory = @"C:WindowsSystem32";

proc1.FileName = @"C:WindowsSystem32cmd.exe";
proc1.Verb = "runas";
proc1.Arguments = "/c "+anyCommand;
proc1.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(proc1);
链接地址: http://www.djcxy.com/p/56457.html

上一篇: Run Command Prompt Commands

下一篇: Python EOF error when trying to run code