【问题标题】:How do I run a windows task without flashing a command prompt box BUT still show a dialog box when I need to?如何在不闪烁命令提示框的情况下运行 Windows 任务,但在需要时仍显示对话框?
【发布时间】:2026-01-26 20:25:01
【问题描述】:

我使用 windows 命令提示符在 windows 中创建计划任务:

schtasks /create /sc minute /mo 30 /tn "javadobe" /tr "\Program Files (x86)\BuildingIntelligence\javadobe\node.exe '\Program Files (x86)\BuildingIntelligence\javadobe\index.js'" /RL HIGHEST

这告诉命令行以最高运行权限每 30 分钟运行一次“node index.js”。

在我的 index.js 文件中,我正在检查远程服务器的版本号,并与本地版本号进行比较。现在当它们相同时,屏幕上会短暂闪烁一个节点提示窗口,这很讨厌,我想停下来。 但是,当主机服务器上传新版本的软件时,我会显示一个对话框,询问用户是现在还是以后安装更新。我想保留这个功能。

如何保持对话框弹出但不显示 node.js 命令提示符一直闪烁?

我尝试过的事情:

  1. 我尝试将我的脚本作为服务而不是计划任务运行,这会阻止 Windows 命令提示符出现,但不允许对话框出现给用户(因为服务在不同的桌面会话)。

  2. 在普通的windows命令提示符下,你可以启动一个最小化的程序,使用

    START /MIN [应用程序名称]

    所以我尝试将我的 /tr 参数更改为“start node index.js /MIN”,但这不起作用。

提前感谢大家的帮助!

【问题讨论】:

    标签: windows node.js scheduled-tasks task


    【解决方案1】:

    Windows 是否为应用程序创建控制台窗口由二进制映像(exe 文件)中指定的 Windows Subsystem 控制 — 在编译时指定。

    如果这是CONSOLE(与node.js 一样),Windows 会在应用程序开始执行之前创建控制台窗口。换句话说,无法在运行时控制窗口是否出现。如果WINDOWS,Windows 不会创建控制台窗口,因为它希望应用程序创建 UI。

    你必须create a custom build of the node.js executable with subsystem WINDOWS

    【讨论】:

      最近更新 更多