我正在尝试从C#打开c文件夹中的命令行。
期望在命令行窗口中看到这一点:
C:>
但我得到一个空白的cmd窗口。
这是代码:
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @"c:\",
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
RedirectStandardInput = true,
UseShellExecute = false
};
Console.ReadKey();
答案 0 :(得分:2)
WaitForExit
正是您要找的。 p>
编辑:
var startInfo = new System.Diagnostics.ProcessStartInfo
{
WorkingDirectory = @"c:\",
WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal,
FileName = "cmd.exe",
RedirectStandardInput = true,
UseShellExecute = false
};
Process p = new Process();
p.StartInfo = startInfo;
p.Start();
p.WaitForExit();
这将暂停WaitForExit
之后所有语句的执行。关闭命令窗口的时间将执行WaitForExit
之后的语句。
答案 1 :(得分:0)
System.Diagnostics.Process.Start("CMD.exe", "/K \"cd /\"");
Console.ReadKey();
答案 2 :(得分:0)
我相信如果你在执行命令时使用/ K Argument,你应该在C:\
运行一个命令提示符 ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = "cmd.exe";
startinfo.WorkingDirectory = @"C:\";
startinfo.Arguments = "/K";
startinfo.UseShellExecute = false;
Process.Start(startinfo);
或者
Process command = new Process();
command.StartInfo.UseShellExecute = false;
command.StartInfo.WorkingDirectory = @"C:\";
command.StartInfo.Arguments = "/K";
command.StartInfo.FileName = "cmd.exe";
command.Start();
/ K参数执行cmd.exe命令并保持窗口打开:)