如何让Bat文件在后台运行。

就是不让bat文件运行时不现实CMD窗口。
2024-12-27 10:43:08
推荐回答(3个)
回答1:

在“运行”中输入IEXPRESS
这是WINDOWS自带的打包程序
下一步-下一步-随便填个名字(下一步)-下一步-下一步-ADD(选好你的BAT文件 继续下一步)-Install里面选你刚加进去的文件(下一步)-hidden(下一步)-下一步-保存打包好的文件(勾一下hidden下一步)-下一步-dont save下一步-下一步-完成
以后运行打好包的EXE文件即可
就可以在后台运行
天涯问答:
可以编辑一个vbs脚本,在其中以隐藏窗口运行批处理程序。

------------------------------------------------------------
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c 批处理程序名",vbhide
------------------------------------------------------------

将水平线中代码拷贝到记事本中,保存为"runbat.vbs"或者其它的名字(扩展名必须是.vbs),然后点击运行生成的脚本runbat.vbs,即可隐藏运行指定的批处理程序。这个vbs脚本也可以在其它环境中直接调用。

回答2:

背景:由于我有某云的服务器(win server), 上面挂有好几个程序, 为了更好的监控他们, 我使用了一个最笨的方法, 就是下面的方法。

实现:我要监控的程序有三个, 成为ABC吧, 下面先把三个程序的监控写好, 我使用的是python邮件告警和bat的进程监控。

main.vbs
1
2
3
4
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c A.bat",0
ws.run "cmd /c B.bat",0
ws.run "cmd /c C.bat",0
这是vbs, 作用就是在这里调用运行bat时,是进入后台运行(就是完全不在前台显示这几个bat的cmd的界面)

main.bat
1
2
3
4
5
6
@echo offnul
:one
echo %date:~0,10% %time:~0,-3% cheng守护进程正在监控系统...
start main.vbs
ping 127.0.0.1 -n 10>nul
goto one
留意一下就会发现, 这是一个死循环, 是的。因为我并没有打算把vbs扔进计划任务跑, 我是使用一个bat,每隔10秒 执行一下main.vsb文件, 而vbs则会去跑那三个监控告警批处理。

第3行:显示当前系统时间与提示信息。

第4行:运行vbs脚本。

第5行:sleep 10秒,这是有点奇怪的写法,使用了ping中的功能。

运行
1
跑main.bat
按照之前,不使用vbs调 直接运行那几个监控bat的时候会连续闪弹cmd窗口,现在只会看到一个cmd在运行, 后台运行的是那三个bat。

每当检测到有进程挂的时候会第一时间发送邮件提醒。

回答3:

不知道,你有答案告诉我下哈 谢谢