停止命令提示符关闭过快

本文关键字:命令提示符 | 更新日期: 2023-09-27 18:25:55

我正在尝试解决以下函数不起作用的原因。

 public void RunCmd()
            {
                string strCmdText;
                strCmdText = "/C [enter command stuff here]";
                System.Diagnostics.Process.Start("CMD.exe", strCmdText);
            }

然而,每当我试图运行它或插入一些断点时,命令就会打开,显示一个错误,然后非常快地关闭(如此之快,以至于我什么都读不到)。

有没有办法让我停止这个程序或弄清楚发生了什么?断点似乎不起作用。

当我直接在命令提示符中键入它而不是通过这个c#脚本运行它时,它的命令运行得很好。

停止命令提示符关闭过快

试试这个:

 strCmdText = "/K [enter command stuff here]";

/C执行字符串指定的命令,然后终止

/K执行字符串指定的命令,但保持

也许可以尝试添加pause命令?

有多种选项。使用/K将阻止窗口关闭。

您也可以编辑命令,在主调用之后添加SLEEP。例如,以下程序将在退出前等待2秒钟:

public void RunCmd()
{
     string strCmdText = "/C '"[enter command stuff here]'" & '"SLEEP 2'"";
            System.Diagnostics.Process.Start("CMD.exe", strCmdText);
}
Process.Start有两个参数:进程名称和要传递给进程的参数。CMD在理解参数"[inter"是什么时遇到问题。如果它不是CMD理解的参数,它将立即退出。

cin.get()

等待用户按下键盘。

在c:下创建临时文件夹,然后在命令末尾附加"<c:''temp''log.txt"。这会将输出写入文件

除了使用/K vs/C创建一个"徘徊"的shell的提示外,您可能还需要注入一个空的"set"命令来查看派生shell中设置了哪些环境变量(和路径)。很可能,脚本在自己的shell会话中成功运行与在派生的shell中失败之间的区别在于运行脚本的环境设置。