在控制台应用程序中处理后退出命令提示符
本文关键字:退出 命令提示符 处理 控制台 应用程序 | 更新日期: 2023-09-27 18:02:11
我有以下命令从调度程序运行任务,这是一个控制台应用程序:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd.exe";
psi.Arguments = string.Format("/K SCHTASKS.EXE /Change /TN '"{0}'" /DISABLE", this.FullTaskName);
Process.Start(psi);
现在我想在执行任务后关闭命令提示符。我尽力了,
Environment.Exit(0);
,但是这会终止进程,并且不会关闭打开的命令提示符。
假设您使用cmd.exe
调用SCHTASKS.EXE
,您可以执行以下操作
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd.exe";
psi.Arguments = string.Format("/K SCHTASKS.EXE /Change /TN '"{0}'" /DISABLE & exit", this.FullTaskName);
Process.Start(psi);
请注意& exit
的加入。
&
允许您将多个命令串联起来按顺序执行。当您使用/k
开关时,您要求命令提示符窗口保持打开状态。使用/c
代替:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "cmd.exe";
psi.Arguments = string.Format("/C SCHTASKS.EXE /Change /TN '"{0}'" /DISABLE", this.FullTaskName);
Process.Start(psi);
但是为什么要调用cmd.exe
呢?直接呼叫SchTasks.exe