Visual Studio 2015 命令提示符问题
Visual Studio 2015 Command Prompt issues
我有一个 Visual Studio 2015 程序调用命令提示符。如何在命令提示符下写入 2 行?这是我当前的代码:
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 " + calibrT1 + "_CDF.hex\"" + calibrT1 + "_ECC_CDF.hex\"";
process.StartInfo = startInfo;
process.Start();
startInfo.Arguments = "/C c:\ti\hercules\nowECC\2.21.00\nowECC -f035 -r4 -i "+ calibrT1 + "_ECC_CDF.hex\" -a ";
//MessageBox.Show("Tester");
process.StartInfo = startInfo;
process.Start();
作为一个有趣的注释。此当前代码不起作用。但是,如果 MessageBox.Show("Tester") 没有被注释掉,它确实有效。因此,我可以确定我的代码行是正确的并且可以按我希望的方式工作,但是如果没有 MessageBox,则不能按顺序工作。我不知道为什么,因为我看不出为什么消息框会影响我的命令提示符的逻辑原因。
感谢您的帮助。
您需要等待才能开始新的。所以需要在之前放置 WaitForExit(这完成了 MessageBox 正在做的工作)。
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 " + calibrT1 + "_CDF.hex\"" + calibrT1 + "_ECC_CDF.hex\"";
process.StartInfo = startInfo;
process.Start();
process.WaitForExit(); // Wait First
startInfo.Arguments = "/C c:\ti\hercules\nowECC\2.21.00\nowECC -f035 -r4 -i "+ calibrT1 + "_ECC_CDF.hex\" -a ";
process.StartInfo = startInfo;
process.Start();
我有一个 Visual Studio 2015 程序调用命令提示符。如何在命令提示符下写入 2 行?这是我当前的代码:
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 " + calibrT1 + "_CDF.hex\"" + calibrT1 + "_ECC_CDF.hex\"";
process.StartInfo = startInfo;
process.Start();
startInfo.Arguments = "/C c:\ti\hercules\nowECC\2.21.00\nowECC -f035 -r4 -i "+ calibrT1 + "_ECC_CDF.hex\" -a ";
//MessageBox.Show("Tester");
process.StartInfo = startInfo;
process.Start();
作为一个有趣的注释。此当前代码不起作用。但是,如果 MessageBox.Show("Tester") 没有被注释掉,它确实有效。因此,我可以确定我的代码行是正确的并且可以按我希望的方式工作,但是如果没有 MessageBox,则不能按顺序工作。我不知道为什么,因为我看不出为什么消息框会影响我的命令提示符的逻辑原因。
感谢您的帮助。
您需要等待才能开始新的。所以需要在之前放置 WaitForExit(这完成了 MessageBox 正在做的工作)。
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 " + calibrT1 + "_CDF.hex\"" + calibrT1 + "_ECC_CDF.hex\"";
process.StartInfo = startInfo;
process.Start();
process.WaitForExit(); // Wait First
startInfo.Arguments = "/C c:\ti\hercules\nowECC\2.21.00\nowECC -f035 -r4 -i "+ calibrT1 + "_ECC_CDF.hex\" -a ";
process.StartInfo = startInfo;
process.Start();