Express cmd文件在使用Windows任务计划程序打开时执行,但不启动服务器

Express cmd文件在使用Windows任务计划程序打开时执行,但不启动服务器,express,batch-file,cmd,forever,windows-task-scheduler,Express,Batch File,Cmd,Forever,Windows Task Scheduler,基本上,我想要的是启动一个带有永久启动窗口的express.js服务器。我用命令创建了一个.cmd文件(见下文)。当我双击这个文件时,服务器启动并像一个charme一样工作。然而,当我在Windows10任务调度器中创建一个任务时,在“登录用户”上有一个触发器,cmd窗口会打开,做一些事情(不能这么快看到控制台)并关闭。没有启动服务器 这是.cmd文件中的代码 cd\ cd Users\Jan timeout /T 5 forever start forever.json 用户是管理员 尝试

基本上,我想要的是启动一个带有永久启动窗口的express.js服务器。我用命令创建了一个.cmd文件(见下文)。当我双击这个文件时,服务器启动并像一个charme一样工作。然而,当我在Windows10任务调度器中创建一个任务时,在“登录用户”上有一个触发器,cmd窗口会打开,做一些事情(不能这么快看到控制台)并关闭。没有启动服务器

这是.cmd文件中的代码

cd\
cd Users\Jan
timeout /T 5
forever start forever.json
  • 用户是管理员
  • 尝试在cmd文件中使用计时器
  • 试图将触发延迟5分钟。在任务调度器中
有人知道为什么在双击文件时可以这样做,而在任务调度器打开时却不能这样做吗?
有没有更好的方法可以用forever启动此服务器?

发现问题在于de命令行中需要使用完整路径。我检查了.json文件,并将相对路径更改为完整路径,现在它可以工作了


但是,当我使用命令
forever list
forever时,不会显示任何正在运行的forever进程。不过,我的服务器正在运行。谢谢大家

您是如何配置批处理文件以运行的?您需要将其配置为使用参数
/c:\Mypath\to\batchfile.cmd
运行
cmd.exe
,然后使用具有相同起始路径的start-in选项
c:\Mypath\
。我也不会做所有的cd档案。而是直接在脚本
forever start C:\users\jan\forever.json
中启动它。如果
jan
是您的用户,那么最好
永远开始“%userprofile%\forever.json”
谢谢Gerhard和Mofi。我一直在阅读这些网页,但由于我有限的知识,我仍然没有让它发挥作用。我的cmd文件现在看起来如下:
cd/D“%USERPROFILE%\AppData\Roaming\npm”“%USERPROFILE%\AppData\Roaming\npm\forever.cmd”start forever.json
。在任务计划程序脚本
%windir%\system32\cmd.exe“
中,使用参数
/c%USERPROFILE%\AppData\Roaming\npm\ForeverStart.cmd
。(我已将cmd文件移动到另一个目录)。再次双击它的作品,但不是当要求的Taks调度。