首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在任务调度程序中使用java程序执行bat失败

在任务调度程序中使用java程序执行bat失败
EN

Stack Overflow用户
提问于 2022-08-14 14:55:42
回答 1查看 59关注 0票数 0

我有下面的脚本,如果手动执行,它可以正常工作,但如果在任务调度程序中设置为任务,则不能工作。

我怀疑一个参数可能没有被正确设置,但无法发现它。有人能帮我一下吗。

代码语言:javascript
复制
@echo off
setlocal EnableDelayedExpansion 

cls

set AllSections=
Set Action=

rem set PARMS=-Xms64M -Xmx512M -Dfile.encoding=UTF-8 -Dsikuli.FromCommandLine
rem set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_202
rem set SIKULIX_HOME=%~dp0

set CurrentDate=%Date%
set CurrentTime=%Time: =0%
set CurrentTime=%CurrentTime:~0,8%
set DateTimeStamp=%CurrentDate:~6,4%-%CurrentDate:~3,2%-%CurrentDate:~0,2%_%CurrentTime:~0,2%-%CurrentTime:~3,2%-%CurrentTime:~6,2%
set FolderTimeStamp=%CurrentDate:~3,2%-%CurrentDate:~6,4%

set DestinationFolder=SCADA\Output\%FolderTimeStamp%\%DateTimeStamp%

md DestinationFolder=SCADA\Output > nul 2>&1
md DestinationFolder=SCADA\Output\%FolderTimeStamp% > nul 2>&1
md DestinationFolder=SCADA\Output\%FolderTimeStamp%\%DateTimeStamp% > nul 2>&1
md DestinationFolder=SCADA\Output\%FolderTimeStamp%\%DateTimeStamp%\Settings > nul 2>&1
md DestinationFolder=SCADA\Output\%FolderTimeStamp%\%DateTimeStamp%\Alarms > nul 2>&1
md DestinationFolder=SCADA\Output\%FolderTimeStamp%\%DateTimeStamp%\Network > nul 2>&1


rem Create Settings file


rem echo "Hello world" > %cd%\aa.txt

rem \\\--below instructions working as script from command prompt , but not from task scheduler

C:\sikulix\sikulixapi-2.0.5-win.jar -r C:\sikulix\Scada\Settings.sikuli
C:\sikulix\sikulixapi-2.0.5-win.jar -r C:\sikulix\Scada\Alarms.sikuli
C:\sikulix\sikulixapi-2.0.5-win.jar -r C:\sikulix\Scada\Networks.sikuli
rem /////


ENDLOCAL
:End

我突出显示了不工作的位;文件夹的设置是正确的,但是java部分在任务调度器中无法执行。

EN

回答 1

Stack Overflow用户

发布于 2022-08-14 15:18:36

脚本在您的帐户中运行,因为您已经设置了.jar,以便文件扩展名java映射到java应用程序。如果任务调度程序帐户没有将.jar映射到java应用程序,那么它将无法工作。

重写脚本,使用jars在行前加上有效的Java运行时(如%JAVA_HOME%/bin/java ),并确保定义了JAVA_HOME,或者检查任务调度程序帐户是否将.jar处理映射到合适的JVM。示例:

代码语言:javascript
复制
 xyz.jar param1 param2 ...

变成了

代码语言:javascript
复制
 %JAVA_HOME%\bin\java --class-path xyz.jar param1 param2 ..

在Windows中,您可以使用右键->属性检查映射,然后查看"Open:“字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73352620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档