运行命令提示符命令
有没有办法从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