如何让这个Bat批处理文件在后台运行?不用vbs

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让这个Bat批处理文件在后台运行?不用vbs相关的知识,希望对你有一定的参考价值。

如何让这个Bat批处理文件(shutdown -s -t 10)在后台运行或者隐藏,反正是看不见关机倒计时提示框就可以?不用vbs。就是一个自动关机的bat。

1、原代码shutdown -s -t 10改为如下代码,并另存为D:\run.bat
@echo off
ping 127.1 -n 10
shutdown -s -f -t 0
2、以下代码另存为xx.vbs
createObject("wscript.shell").run "d:\run.bat",0
3、运行xx.vbs即可

PS:纯P无法做到隐藏窗口,如果一定不用VBS,可以考虑用AT命令。
如果你只想要“看不见关机倒计时提示框”,那么1中的代码就可使用,不用再用2中的VBS。有问题百度HI我
参考技术A 批处理的窗口隐藏好说 但是shutdown的信息框是无法隐藏的 如果想不提示关机倒计时直接运行shutdown -s -t 0就可以 不过这样就没有延时了 你可以利用ping命令做延时 然后直接运行shutdown -s -t 0
具体命令

@if %1* neq 0* mshta vbscript:createobject("wscript.shell").run("%~s0 0",0)(window.close)&exit
::隐藏CMD窗口
ping -n 11 127.0.0.1>nul
::10秒延时
shutdown -s -t 0

利用ping两次发送消息之间的间隔时间。ping在发送多个消息时,在得到上一次消息的回应后,它会再等待1秒的时间才发送下一次消息,而这个回应时间因机型、系统和网络配置而不同,其中IP地址尤其关键,只有本地的回送地址 127.0.0.1 因为是立即回应所以才是相对恒定的,其他地址大多会产生显著的差异。此种方法要等待更大的时间,是指定发送的消息数为等待的时间加一,因为第一个消息是不等待的,IP 地址必须是 127.0.0.1 。
顺便说下利用ping命令做延时误差在0.2毫秒左右,所以可以用到不要求非常精准的批处理当中。
参考技术B 哈 楼主的要求还真苛刻啊
其实用vbs是比较简单的办法
但是还有其他方法的
大家忽略了而已
使用windows自带的“计划任务”哈
设置成登录时运行不就行了

例如我的:
action:start a program
details:"D:\HaPpY\arp private.bat" 0
参数为0是隐式运行

另外是vista系统
参考技术C 光用批处理是不行的,还是建议你用VBS。把下面代码保存为VBS,绝对看不到任何提示框!

wscript.sleep 10000
createObject("wscript.shell").run "cmd /c shutdown -s -f -t 0",0

以上是关于如何让这个Bat批处理文件在后台运行?不用vbs的主要内容,如果未能解决你的问题,请参考以下文章

怎样让批处理BAT运行时不显示DOS窗口?

如何最小化运行批处理文件

BAT批处理文件的msdos窗口如何开机自动后台运行不弹出窗口?

如何最小化运行批处理文件

如何让VBS文件 自动开机就运行

隐藏执行批处理bat文件