如何让Windows计划任务运行bat脚本时不弹出命令行窗口?【亲测成功】

艺帆风顺 发布于 2025-04-03 33 次阅读


一、需求背景

    在windowns server服务器添加了bat脚本结合定时任务进行启动,发现启动时会弹出cmd窗口,影响正常操作。

二、解决方法

1、在bat文件开头加上@echo off,抑制命令行输出。2、在创建计划任务时,把"运行是否用户已登录"选项设置为"与是否登录无关",使其在后台运行。3、把计划任务的安全选项设置为"最高权限",避免权限不足的错误。4、在bat文件的末尾添加exit /b 0,防止脚本执行完后命令窗口等待用户输入。5、如果调用其他程序,在程序路径加上参数 -w 隐藏窗口。6、对于PowerShell脚本,用-WindowStyle Hidden选项隐藏窗口。7、使用nssm等工具代替计划任务,可以隐藏窗口。8、通过WMI在后台启动进程,不显示窗口。9、使用vbs脚本作为启动程序,在vbs中调用bat,可以隐藏窗口。

二、解决方法

此处采用编写vbs调用bat脚本的方式处理此问题。

Set shell = Wscript.Createobject("wscript.shell")Call shell.run("C:RDPRDPLog.bat", 0)

将vbs添加到计划任务中,该问题就得以解决。