我在 Windows 任务计划程序 (W10) 中创建了一个计划任务。它在启动时触发(或任何用户登录时,我可以灵活处理)并启动 .bat 文件。
该任务以具有管理员权限的用户 A 的权限运行。但是,该任务应该在任何用户下运行,主要是没有管理员权限的用户 B。
发生了什么,我重新启动电脑,以用户 B 身份登录,并检查任务是否正在运行。我通过打开浏览器并连接到无法访问的本地主机地址来执行此操作 -> 任务未运行。
我现在以用户 A 的身份打开任务计划程序,因为在用户 B 下没有列出我的任务,因为它是在用户 A 下创建的。我查看列表,发现任务正在运行。嗯,我再次打开浏览器,刷新,然后它就正常工作了。
我特意再次重新启动并重新执行了所有步骤,并在每次执行后检查了浏览器。结论是,只有在我打开任务计划程序中的任务列表后,任务才会启动,而不是在此之前。我尝试将启动延迟一分钟,但即使等待了 10 分钟,任务仍未启动。但是,只要我在计划程序中打开任务列表,它就会运行。
有人知道为什么吗?
编辑:这是该 bat 文件的内容:
REM @echo off
Setlocal EnableDelayedExpansion
REM Retrive the application home
for %%F in ("%~f0") do set AGENT_BASE=%%~dpF
set AGENT_BASE=%AGENT_BASE%..
set APP_BASE=%AGENT_BASE%
echo %AGENT_BASE%
CALL "%AGENT_BASE%\config\setenv.bat"
SET JAVA_EXE="%APP_BASE%\java\%JAVA_VERSION%\bin\java"
%JAVA_EXE% -Duser.dir="%AGENT_BASE%" -jar "%AGENT_BASE%\%EXEC_JAR%"
pause
提到的 setenv.bat 包含以下内容:
set JAVA_VERSION=11.0.4.11
set EXEC_JAR=runtime\1.0.41\quarkus-run.jar