我正在使用C#开发Web服务器,但是我的BATCH文件存在一些问题,导致Apache和MySQL运行。 使我能做的NGINX工作的BATCH,但PHP没有启动,给出了语法错误,也需要帮助。
NGINX-START.BAT (NGINX启动,但PHP无法启动且语法错误)
启动目录:C:\Users\NETO\Documents\Visual Studio 2010\Projects\MHServer\MHServer\bin\Debug\Server\Files\NGINX
目标目录:C:\Users\NETO\Documents\Visual Studio 2010\Projects\MHServer\MHServer\bin\Debug\
Php\php-cgi.exe
错误消息:文件名,目录名或卷标的语法不正确。 系统找不到指定的路径。
@ECHO OFF
cd \%CD%\
cd ..
cd ..
cd ..
cd Nginx
start nginx
set PATH=\Php;%PATH%
\Php\php-cgi.exe -b 127.0.0.1:9000
:exit
Apache-start.bat (Apache无法启动,语法错误)
错误消息:文件名,目录名或卷标的语法不正确。 系统找不到指定的路径。
@ECHO OFF
cd \%CD%\
cd ..
cd ..
cd ..
\Apache\bin\Apache.exe
MySQL-start.bat (MySQL无法启动,语法错误)
错误消息:文件名,目录名或卷标的语法不正确。 系统找不到指定的路径。
@ECHO OFF
cd \%CD%\
cd ..
cd ..
cd ..
\MySql\bin\mysqld.exe --defaults-file=\MySql\my.ini --standalone --console
:exit
文件夹结构(程序和文件的文件夹)
C:\MHServer\Apache
] - Apache Path C:\MHServer\MySql
] - MySQL Path C:\MHServer\Nginx
] - NGINX Path C:\MHServer\Php
] - PHP Path BAT文件夹文件
C:\MHServer\Server\Files\Apache
] - Apache BAT文件C:\MHServer\Server\Files\MySQL
] - MySQL BAT文件C:\MHServer\Server\Files\NGINX
] - NGINX BAT文件文件结构
我对BAT文件不是很了解,所以我来找你帮忙!
答案 0 :(得分:0)
您只需要从相对目录名称之前删除反斜杠。
例如:
\Apache\bin\Apache.exe
应该是
Apache\bin\Apache.exe
另外,如果要将PHP目录添加到NGINX-START.BAT中的PATH环境变量,则需要使用完整路径,而不是相对路径。这样的事情会起作用:
set PATH=%CD%\Php;%PATH%
另外,你想用cd \%CD%\
做什么?这应该自己给出一个错误,所以也要从所有脚本中删除它。
因此,您的第一个批处理文件应如下所示:
@ECHO OFF
cd ..
cd ..
cd ..
cd Nginx
start nginx
cd ..
set PATH=%CD%\Php;%PATH%
Php\php-cgi.exe -b 127.0.0.1:9000
:exit