在cmd中运行正常,C#中的异常

时间:2017-01-07 12:17:20

标签: c# visual-studio command-line cmd command

我有以下代码:

public void Run(string command) {
   System.Diagnostics.Process.Start("C:\\Windows\\System32\\cmd.exe /c " + command);
   //textBox1.Text = "C:\\Windows\\System32\\cmd.exe /c " + command;
}

在视觉工作室,它告诉我:

“System.dll中发生了'System.ComponentModel.Win32Exception'类型的未处理异常 附加信息:系统找不到指定的文件

我复制textBox1.Text,因为它在cmd中工作正常。

2 个答案:

答案 0 :(得分:2)

必须拆分文件名和参数并相应输入。

Process.Start Method (String, String)只接受文件名,参数应该由另一个参数传递。

unique_txt_id

答案 1 :(得分:1)

所以我通过制作流程描述来运行流程找到了解决方案。我更喜欢较短的版本。所以我不接受这个答案。

public void Run(string command) {
        System.Diagnostics.ProcessStartInfo to_run = new System.Diagnostics.ProcessStartInfo();
        to_run.FileName =  "cmd";
        to_run.Arguments = "/c "+ command;
        to_run.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; //Hidden cmd

        //Start a process based on to_run description
        System.Diagnostics.Process executing = System.Diagnostics.Process.Start(to_run); 
        executing.WaitForExit(); //Don't go further until this function is finished
}