怎样让windows命令行程序在后台启动

因为有几个项目使用到redis,并且我是在windows下开发的,每次打开redis-server.exe之后一个黑色的命令行窗口放在那挺碍眼的,而且占着任务栏的位置也不方便,经常会点错。所以就想让它作为后台程序运行。不需要开机启动启动,因为我整月不关机很正常。

在Linux下实现这个目标很容易,只要在启动时程序路径后加上一个&符号即可。 但是Windows下的命令行可没有Linux下这么强大,我网上搜了下,找到一个经验证有效的方法。

以下都以上面提到的redis为例。

首先建立一个.bat的批处理文件,任意起名,比如run-redis.vbs。 这个脚本随便放哪,不过为了方便查找已经避免写绝对路径,建议放到目标程序的同一个目录下。

编辑其中内容为:

set ws = WScript.CreateObject("WScript.Shell")
ws.Run "redis-server.exe", 0

其中ws.Run 后的字符串内容是要后台运行的程序的路径,这时候前面放到目标程序的同一目录下的好处就显露出来了,这样可以直接写相对路径,直接就是程序名。

要运行程序,只要双击这个.vbs脚本就可以运行了。在任务管理器中也可以看到redis-server.exe正在运行中。