【发布时间】:2013-08-23 03:50:58
【问题描述】:
因此,我创建了一个 .bat 文件,用于检查一系列标准服务器以查看它们是否已启动,并且我想在完成后根据结果创建选项。批次运行良好,直到我输入菜单。哈普?
@echo off
:top
cd\
cls
SET site=%1
SET cc=%2
if "%site%" equ "" set /P site=Site Number:&SET /P cc=Country Code (US if left blank):
if [%cc%]==[] set cc=us
echo.
:startloop
set #=%site%
:subloop
set site=s0%site%
echo Checking %site%.%cc%
echo.
for %%i in (saps01 saps02 vsrv01 vsrv02) do call :main %%i
echo.
goto end
:main
set sys=%1.%site%.%cc%
set state=down
ping -n 1 -w 2000 %sys% | findstr "Reply" >Nul
if %errorlevel% equ 0 set state=up
if %state% equ "down" goto main2
:main2
echo %1 is %state%
goto end
:end
set /p menu=Select an option:
echo 1) option 1
echo 2) option 2
if %menu%=1 echo 1
if %menu%=2 echo 2
【问题讨论】:
-
请详细说明问题所在。 会发生什么,这与您的预期有何不同?
-
您的菜单输入处于调用过程的中间 - 这一切似乎有点笨拙。是否要检查多个服务器是否在线,如果它们都在线则继续?或者...
标签: loops batch-file menu break