Реализуйте цикл for или цикл while в пакетном файле md-dos для Windows - PullRequest
0 голосов
/ 06 декабря 2010

Моя кодировка для создания пользователей выглядит следующим образом:

@echo off
echo.
echo     SELECT OPTION
echo     -------------
echo.
:menu
echo     1- Create username
echo     2- Create password
echo     3- Delete username
echo     4- Exit
echo.
pause
set /p option=enter option 1 2 3 or 4:
if "%option%"=="1" goto createuser
if "%option%"=="2" goto createpass
if "%option%"=="3" goto deluser
if "%option%"=="4" goto exit

:createuser
echo Enter username
set /p var=Username:
net user %var% /add
echo Username successfully entered
goto exit

:createpass
echo Enter password
set /p var=Username:
net user %var% *
echo Password successfully entered
goto exit

:deluser
echo Enter user to be deleted
set /p var=Username:
net user %var% /del
echo User successfully deleted
goto exit

:exit

Он успешно работает при тестировании, но хотел бы знать, как успешно реализовать цикл for, чтобы увидеть, вводит ли пользователь какую-либо опцию вне чисел 1-4, например, ошибку. Также цикл for для того, когда пользователь был успешно добавлен, если он хотел бы создать другого пользователя или выйти из программы.

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

Цикл for состоит из следующих частей:

-Переменная для подсчета количества циклов
-Действительное содержимое
-Строка, которая увеличивает переменную счетчика цикла
-An, еслиоператор, который делает GOTO вне цикла, если счетчик цикла превысил некоторое значение
-A GOTO, которое идет в начало цикла

что-то вроде

set /p count = 0
:loopstart
doStuff
set count = count + 1
if %count%==10 GOTO loopend
GOTO loopstart

A whileэто то же самое, за исключением того, что вместо подсчета счетчика цикла вы заменяете некоторые другие условные выражения, такие как if %option%=="quit" GOTO loopend

Надеемся, что вы можете получить то, что вы хотите, основываясь на этой информации.Извините, если мой синтаксис не идеален, я не часто использую командные файлы.

1 голос
/ 06 декабря 2010

После каждого раздела вы можете изменить goto exit на goto menu и добавить

echo Error: Choose 1, 2, 3, or 4
goto menu

прямо перед :createuser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...