:选择
set /p choice=请选择:
if not "%Choice%"=="" set Choice=%Choice:~0,1%
if /i "%choice%"=="0" exit
if /i "%choice%"=="exit" exit
if /i "%choice%"=="1" goto 新站点
if /i "%choice%"=="2" goto 删除站点
if /i "%choice%"=="3" notepad %hosts% & echo. &echo. & goto 起点
echo 输入错误,请重新输入
goto 选择
:新站点
echo.
set /p hostname=虚拟主机站点名(便于您的管理):
if "%hostname%"=="/?" goto 新站点
if "%hostname%"=="" goto 新站点
if "%hostname%"=="exit" exit
set conf=D:\AppServ\vhosts\%hostname%.conf
if exist %conf% echo 已经存在名为 %hostname% 的站点了!& echo. & goto 新站点
echo ^<VirtualHost *:80^> > %conf%
:绑定域名
set /p domain=请为站点%hostname%绑定一个主域名,(如:test.com):
if "%domain%"=="/?" goto 绑定域名
if "%domain%"=="" goto 绑定域名
:其他域名
set /p newdomain=绑定其他域名(输入 N 结束输入):
if "%newdomain%"=="/?" goto 其他域名
if "%newdomain%"=="" goto 其他域名
if "%newdomain%"=="N" goto 指定目录
if "%newdomain%"=="n" goto 指定目录
echo ServerAlias %newdomain% >>%conf%
find "127.0.0.1 %newdomain%" %hosts% > tmp.txt
if %errorlevel%==0 echo 域名“%newdomain%”已存在! & goto 其他域名
echo 127.0.0.1 %newdomain% #站点:%hostname% >>%hosts%
goto 其他域名
:指定目录
set /p sitepath=站点文件夹名称(相对 D:\appserv\www\ 文件夹):
if "%sitepath%"=="/?" goto 指定目录
if "%sitepath%"=="" goto 指定目录
set sitepath=d:\AppServ\www\%sitepath%
if exist %sitepath% echo 已经存在 %sitepath% 的文件夹了! & goto 目录存在
goto 创建目录
:目录存在
set /p newdomain=使用这个存在的目录吗?(Y/N):
if "%newdomain%"=="/?" goto 目录存在
if "%newdomain%"=="" goto 目录存在
if "%newdomain%"=="Y" goto 保存目录
if "%newdomain%"=="y" goto 保存目录
goto 指定目录
:删除站点
echo.
set /p sitename=请输入您要删除的站点名称(键入 N 取消操作):
if "%sitename%"=="/?" goto 删除站点
if "%sitename%"=="" goto 删除站点
if "%sitename%"=="N" goto 起点
if "%sitename%"=="n" goto 起点
if NOT exist D:\AppServ\vhosts\%sitename%.conf echo 不存在名为%sitename%的站点!& echo. & goto 删除站点
del D:\AppServ\vhosts\%sitename%.conf /q
echo.
echo 站点配置文件删除成功!
echo.
net stop apache2.2
net start apache2.2
echo.
echo hosts文件中的对应的域名指向需要您手功删除
:hosts处理选择
echo.
set /p choice=是否立即编辑hosts(Y/N):
if not "%Choice%"=="" set Choice=%Choice:~0,1%
if /i "%choice%"=="exit" exit
if /i "%choice%"=="y" goto 编辑hosts
if /i "%choice%"=="Y" goto 编辑hosts
if /i "%choice%"=="n" goto 删除成功提示
if /i "%choice%"=="N" goto 删除成功提示
echo 输入错误,请重新输入
goto hosts处理选择