好吧,所以我一直在做一个开发项目,只是为了好玩,我遇到了一个问题,我想启动一个php-S本地主机服务器。它正在启动,但在错误的端口
这是我的代码:
@echo off
SET var=
for /f "delims=" %%i in (info.txt) do call :setVar %%i
cd %var%
php -S localhost:%var%
:SetVar
Set var=%var% %1%
goto :eof
这是txt文件:
P:HTMLCh3rry-site
80
Helppp!
像Compo说的那样,如果文件在不同的目录中,你应该尝试cd/d,但即使如此,这里还是有一个批处理文件(它需要两个文件,一个用于端口,另一个用于路径,并确保将php路径更改为安装目录(,我在我的电脑上创建了这个文件:
@echo off
set /p var=<file.txt
set /p path=<path.txt
cd /d %path%
C:php-8.0.0-Win32-vs16-x64php.exe -S localhost:%var%
goto :eof
类似于已经提供的答案,但不更改单个info.txt
文件:
@Echo Off
Set "FolderPath="
Set "PortNumber="
( Set /P "FolderPath="
Set /P "PortNumber="
) 0< "info.txt"
If Not Defined PortNumber Exit /B 2
CD /D "%FolderPath%" || Exit /B 1
php.exe -S 0.0.0.0:%PortNumber%
此外,我还建议(如果php.exe
不在info.txt
第一行列出的目录中(提供php.exe
的完整路径,以防止依赖于易于修改且经常损坏的%Path%
变量。