在 winforms 中使用 cmd 执行带有参数的 exe 文件

本文关键字:参数 exe 文件 行带 执行 winforms cmd | 更新日期: 2023-09-27 18:34:24

我正在开发一个Windows应用程序。我正在调用命令提示符,我需要调用exe文件采取参数的exe文件。

我能够打开命令提示符,但无法发送参数

        string  strCmdText = "create-keyfile.exe ..''KatanaFirmware''key-template.txt ..''Keyfiles''new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
        System.Diagnostics.Process.Start("CMD.exe", strCmdText);

可以帮帮我。

谢谢

普尼斯

在 winforms 中使用 cmd 执行带有参数的 exe 文件

 System.Diagnostics.ProcessStartInfo startInfo = new ProcessStartInfo("create-keyfile.exe");
startInfo.Arguments = "..''KatanaFirmware''key-template.txt ..''Keyfiles''new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
System.Diagnostics.Process.Start(startInfo);

您还可以在Process.Start上查看MSDN站点,其中包含有关如何执行.exe并将参数传递给它的示例。

ProcessStartInfo process = new ProcessStartInfo();
process.FileName = "yourprogram.exe";
process.Arguments = strCmdText; // or put your arguments here rather than the string
Process.Start(process);

你试过吗

System.Diagnostics.Process.Start("CMD.exe "+strCmdText);

实际上,在进一步检查时,我认为您无需致电CMD.EXE您应该调用exe文件,除非您当然使用CMD来显示某些内容

string  strCmdText =  "..''KatanaFirmware''key-template.txt ..''Keyfiles''new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
System.Diagnostics.Process.Start("create-keyfile.exe", strCmdText);

您是否尝试过使用/k 或/c 选项的 cmd

从链接

/c :执行字符串指定的命令,然后停止。

/k :执行字符串指定的命令并继续。

   string  strCmdText = "/k create-keyfile.exe ..''KatanaFirmware''key-template.txt ..''Keyfiles''new-keyfile.txt " + cableTextBox.Text.Trim()+" " + startIdTextBox.Text.Trim();
   System.Diagnostics.Process.Start("CMD.exe", strCmdText);

试试这个。

string  strCmdText = "KatanaFirmware''key-template.txt "+ "''Keyfiles''new-keyfile.txt " + cableTextBox.Text.Trim()+" " +     startIdTextBox.Text.Trim();
Process mp = new Process();
mp.StartInfo.FileName = "E:''create-keyfile.exe"; //path of the exe that you want to run
mp.StartInfo.UseShellExecute = false;
mp.StartInfo.CreateNoWindow = true;
mp.StartInfo.RedirectStandardInput = true;
mp.StartInfo.RedirectStandardOutput = true;
mp.StartInfo.Arguments = strCmdText;
mp.Start();
mp.WaitForExit();

希望对您有所帮助。