Windows批处理脚本打开控制台窗口

时间:2013-12-07 02:07:15

标签: windows batch-file nginx php

我正在尝试设置一个朋友的Windows 7计算机来运行Nginx& PHP5。我找到了一个在线脚本来启动和停止Nginx& PHP,在添加目录更改行后,我能够使其工作。但是,似乎有一个问题导致它离开启动PHP打开的第二个控制台窗口。有没有办法让控制台窗口关闭?

批处理脚本:

@ECHO OFF

CD C:\nginx

tasklist /FI "IMAGENAME eq nginx.exe" | find /I "nginx.exe" > NUL && (
    GOTO STOP
) || (
    GOTO START
)

:START
ECHO Starting nginx
start nginx
ECHO Starting PHP
start php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
GOTO DONE

:STOP
ECHO Stopping nginx
start nginx -s quit
ECHO Stopping PHP
taskkill /f /IM php-cgi.exe

:DONE
TIMEOUT 3

3 个答案:

答案 0 :(得分:5)

您可以使用START上的/b parameter启动应用程序而无需打开另一个cmd窗口

START /b php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini

<强>更新
看来这是php-cgi.exe的行为。有关完整的故事和解决方法,请参阅此文章。 http://wiki.nginx.org/PHPFastCGIOnWindows

  

启动后,php-cgi.exe将继续侦听连接   在命令提示符窗口中。要隐藏该窗口,请使用tiny实用程序   RunHiddenConsole

基本上,您只需要d / l并将RunHiddenConsole解压缩到您的nginx目录,然后将此行更改为:

RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini

答案 1 :(得分:1)

您正在寻找

start php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini 
/exit b

答案 2 :(得分:0)

要运行.BAT Invisible,您可以使用简单的vbs脚本。

将它放在.VBS文件中:

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

然后像这样运行你的BAT:

wscript.exe "C:\invisible.vbs" "C:\YourBat.bat"