2010-12-06 546 views
0

我創建用戶編碼如下:for循環實現一個或做while循環在Windows MD-DOS批處理文件

@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 

它進行測試時成功運行,但想知道如何成功地實現了循環查看用戶是否輸入數字1-4之外的任何選項,如錯誤。當用戶成功添加時,如果他們想創建另一個用戶或退出程序,也是for循環。

+0

批量生產中的重大任務......恐怖...... \ * sob \ * – delnan 2010-12-06 20:58:24

+0

@delnan,這些都是微不足道的。它可能只是看起來對陌生人來說有點陌生;-) – Joey 2010-12-12 10:52:04

回答

1

每一節之後,你可以改變goto exitgoto menu並添加

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

權利之前:createuser

1

for循環由以下幾部分組成:

-A變量計算的數量循環
- 實際內容
- 遞增循環計數器變量的行
- 一個if語句,做了GOTO跳出循環,如果循環計數器超過一定價值
-A GOTO是去循環

喜歡的東西

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

while循環的開始是相同的事情,除了代替計數循環計數器,你可以用一些其他條件替代,如if %option%=="quit" GOTO loopend

希望你能根據這個信息得到你想要的。對不起,如果我的語法不完美,我不經常使用批處理文件。