windows——后台执行bat脚本
rehoni / 2020-06-29
Windows后台执行bat脚本
通过vb脚本来隐藏dos窗口,后台执行
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin
::
redis-server.exe
建立脚本流程
- 调用运行bat,放入后台执行:main.vbs
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
- 建立主脚本,循环执行:main.bat
@echo off<nul 3>nul
:one
echo %date:~0,10% %time:~0,-3% 守护进程正在监控系统...
start main.vbs
ping 127.0.0.1 -n 10>nul
goto one
通过ping命令来实现sleep 10秒的操作,每10秒执行main.vbs里边执行的3个脚本。
start命令
通过在bat脚本中,使用start命令来后台执行需要执行的脚本或者程序
start /b a.bat
参数 | 描述 |
---|---|
/min | /max | 指定最小化(/min)或最大化(/max)新的命令提示符窗口。 |
/elevate | 以管理员身份运行应用程序。 |
/wait | 启动应用程序并等待其结束。 |
/b | 启动应用程序而不打开新的命令提示符窗口。 除非应用程序启用了 CTRL + C 处理,否则将忽略 CTRL + C 处理。 使用 CTRL + BREAK 中断应用程序。 |
/? | 在命令提示符下显示帮助。 |
Windows开机自动执行bat脚本
编写bat脚本放置在以下位置
C:\Users\xxxx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
即可实现开机自动执行该脚本
执行Java脚本
编写脚本时,如果有多java环境,需要设定好执行的JAVA_HOME,即指定的jdk目录。
如果jdk目录包含空格,如Program Files这样的目录,可以用""
进行转义;如果转义无用,则可以考虑使用绝对路径。
@echo off
C:
cd C:\Program Files\Java\jdk1.8.0_152\bin
start /b java -jar E:\nrec\ImpSftp\trans.jar -propath E:\nrec\ImpSftp\imp.properties
# E:\nrec\ImpSftp\jdk1.8.0_152\bin\java -jar E:\nrec\ImpSftp\trans.jar -propath E:\nrec\ImpSftp\imp.properties