2017-06-06 372 views
0

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

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

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

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

* UPDATE *

这里是代码片段,从我的控制台应用程序中启动程序:

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程序。

+0

你能分享一些代码?你现在如何在命令行应用程序中启动java程序? – easuter

+0

对不起。代码片段现在是原始帖子的一部分。 – breusshe

+0

无赖。我想没有人知道如何做到这一点。我想我会尝试将程序分成两部分,并为我的任务添加三个动作。这样,java程序将直接由任务调度程序运行,而不是由程序调用。尽管如此,还是有更好的方式来做到这一点。 – breusshe

回答

0

我认为这是太晚了此消息,但...

在批处理文件

也许你正在运行的东西,如Java应用程序:Java的罐子应用程序名称

首先我要做的应该是注释掉批处理文件中的“@echo off”,然后用一个回声“x”(xa自然数从1开始并在每次出现中增加1)追踪批处理行。接下来,我将添加一行java -version,所以我将确保Java应用程序已安装并可访问。

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

有好运气,告诉我,我会尽力帮助

相关问题