【发布时间】:2021-06-30 11:18:20
【问题描述】:
基本上我想要的是在启动 Windows 时永远启动一个 express.js 服务器。我创建了一个带有命令的 .cmd 文件(见下文)。当我双击此文件时,服务器启动并像魅力一样工作。但是,当我在 Windows 10 任务计划程序中使用“登录用户”触发器创建任务时,cmd 窗口会打开,执行某些操作(无法这么快看到控制台)并关闭。没有服务器启动。
这是 .cmd 文件中的代码
cd\
cd Users\Jan
timeout /T 5
forever start forever.json
- 用户是管理员
- 在 cmd 文件中尝试了一个计时器
- 尝试将触发器延迟 5 分钟。在任务计划程序中
有没有人知道为什么这适用于双击文件而不是当任务计划程序打开时? 有没有更好的方法来永久启动这个服务器?
【问题讨论】:
-
您如何配置批处理文件以运行?您需要将其配置为使用参数
/c c:\Mypath\to\batchfile.cmd运行cmd.exe,然后使用具有相同启动路径c:\Mypath\的start in 选项。我也不会对配置文件进行所有的 cd。而是直接在脚本forever start C:\users\jan\forever.json中启动它。如果jan是您的用户,那么更好的是forever start "%userprofile%\forever.json" -
感谢格哈德和莫菲。我一直在阅读这些页面,但由于我的知识有限,我仍然没有让它发挥作用。我的 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 Scheduler 要求时。
标签: express batch-file cmd forever windows-task-scheduler