停止命令提示符关闭过快
本文关键字:命令提示符 | 更新日期: 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);
}
cin.get()
等待用户按下键盘。
在c:下创建临时文件夹,然后在命令末尾附加"<c:''temp''log.txt"。这会将输出写入文件
除了使用/K vs/C创建一个"徘徊"的shell的提示外,您可能还需要注入一个空的"set"命令来查看派生shell中设置了哪些环境变量(和路径)。很可能,脚本在自己的shell会话中成功运行与在派生的shell中失败之间的区别在于运行脚本的环境设置。