Windows批处理脚本使控制台窗口保持打开状态
我正在尝试设置一台friends Windows 7计算机来运行Nginx和PHP5。我在网上找到了一个启动和停止Nginx&PHP的脚本,在添加了目录更改行之后,我就能够让它工作了。但是,似乎有一个问题导致它将启动PHP的第二个控制台窗口保持打开状态。有没有办法关闭控制台窗口 批处理脚本:Windows批处理脚本使控制台窗口保持打开状态,windows,batch-file,nginx,php,Windows,Batch File,Nginx,Php,我正在尝试设置一台friends Windows 7计算机来运行Nginx和PHP5。我在网上找到了一个启动和停止Nginx&PHP的脚本,在添加了目录更改行之后,我就能够让它工作了。但是,似乎有一个问题导致它将启动PHP的第二个控制台窗口保持打开状态。有没有办法关闭控制台窗口 批处理脚本: @ECHO OFF CD C:\nginx tasklist /FI "IMAGENAME eq nginx.exe" | find /I "nginx.exe" > NUL &&
@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
你在找什么
start php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
/exit b
您可以使用onSTART
启动应用程序,而无需打开另一个cmd窗口
START /b php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
更新:这似乎是php-cgi.exe的行为。有关完整的故事和解决方法,请参阅本文 php-cgi.exe启动后,将继续侦听连接 在命令提示窗口中。要隐藏该窗口,请使用微型实用程序 RunHiddenConsole 基本上,您只需d/l并解压缩到nginx目录,然后将此行更改为:
RunHiddenConsole.exe php\php-cgi.exe -b 127.0.0.1:9000 -c c:\nginx\php\php.ini
要运行.BAT,可以使用简单的vbs脚本 将其放入.VBS文件中:
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
然后像这样挥动球棒:
wscript.exe "C:\invisible.vbs" "C:\YourBat.bat"
启动php\php-cgi.exe-b 127.0.0.1:9000-c:\nginx\php\php.ini&&exit,它刚刚退出脚本,php cgi窗口保持打开状态。该窗口仍然打开。这似乎是php-cgi.exe的行为。有关完整的故事和解决方法,请参阅本文。
/B
参数用于隐藏php cgi cmd窗口(使用Windows 10和php 7.2.5)。在超时
行后放置退出
命令。这就是你需要做的吗?@foxidrive我也试过了,但窗口还是保持打开状态?php\php-cgi.exe-b 127.0.0.1:9000-c:\nginx\php\php.ini
@foxidrive是的,它保持打开状态我编辑了我的评论。如果提示没有返回,那么窗口正在运行服务器,这就是窗口没有关闭的原因。