从通过Windows任务计划程序运行的控制台应用程序启动命令shell

时间:2017-06-06 19:55:51

标签: c# windows shell scheduled-tasks

我有一个Windows控制台应用程序,它通过任务计划程序中的计划设置启动。此控制台应用程序作为其正常运行时的一部分,将启动命令提示符以运行java程序。不,我无法控制Java程序的设计。它按原样提供给我,我没有权利或访问权限进行更改。我也无法用另一种语言实现它。我必须使用给我的东西。

无论如何,当我的控制台应用程序尝试运行命令提示符时,如果我手动启动应用程序,它将正常工作。但是,当我将其作为Task Scheduler中的操作尝试时,我的控制台应用程序将按预期启动并运行,直到需要启动命令提示符。此时,控制台应用程序退出。没有提供错误消息或代码。

当没有人登录服务器时,如何让命令提示符窗口从我的控制台应用程序中作为新窗口启动?

感谢您提供的任何提示或建议。

*更新*

以下是从我的控制台应用程序中启动程序的代码段:

string parameter_save_path = @"C:\output\folder"
System.Diagnostics.Process process = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo start_info = new System.Diagnostics.ProcessStartInfo();
start_info.WorkingDirectory = @"C:\mtselect-client";
start_info.FileName = "cmd.exe";
start_info.Arguments = "/C run.bat \"" + parameter_save_path + "\"";
process.StartInfo = start_info;
process.Start();
process.WaitForExit();

run.bat启动了java程序。

1 个答案:

答案 0 :(得分:0)

我认为此消息为时已晚,但......

也许在您的批处理文件中,您正在运行Java应用程序,例如:java -jar ApplicationName

首先,我应该注意掉#34; @echo off"从批处理文件中,接下来用一个回波跟踪批处理行" x" (x是从1开始的自然数,每次增加1)。接下来我将添加一行java -version,因此我将确保安装并可访问java app。

也许java需要由经过身份验证的用户运行,因此定义了java_home。也许应用程序需要一些JVM参数,如内存大小等。

祝你好运,告诉我,我会尽力帮助