gpt4 book ai didi

c# - 调用命令提示符并保持窗口打开

转载 作者:太空狗 更新时间:2023-10-29 20:17:41 24 4
gpt4 key购买 nike

我正在尝试从 C# 应用程序调用 ant 脚本。我希望控制台窗口弹出并保持不变(我现在只是调用命令提示符,但我最终想调用一个 ant 脚本,这最多可能需要一个小时)。这是我正在使用的代码,我从 original 修改而来:

public void ExecuteCommandSync(object command)
{
try
{
// create the ProcessStartInfo using "cmd" as the program to be run,
// and "/c " as the parameters.
// Incidentally, /c tells cmd that we want it to execute the command that follows,
// and then exit.
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/k " + command);

// The following commands are needed to redirect the standard output.
// This means that it will be redirected to the Process.StandardOutput StreamReader.
procStartInfo.RedirectStandardOutput = true;
procStartInfo.UseShellExecute = false;
// Do not create the black window.
procStartInfo.CreateNoWindow = false;
// Now we create a process, assign its ProcessStartInfo and start it
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;

proc.Start();
proc.WaitForExit();

}
catch (Exception objException)
{
Console.WriteLine(objException);
}
}

我还想传递最多 5 个参数,但现在我只关心保持窗口打开足够长的时间以查看发生了什么,我对阅读 ant 脚本生成的任何内容不感兴趣.我不想让任何人为我做我的工作,但我一直在努力解决这个问题,所以非常感谢任何帮助!

最佳答案

这一行;

procStartInfo.RedirectStandardOutput = true;

是什么导致窗口关闭。删除此行,或向 Process.StandardOutput 添加处理程序以读取其他地方的内容;

string t = proc.StandardOutput.ReadToEnd();

关于c# - 调用命令提示符并保持窗口打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com