标题: [代码合集] 批处理一个选项执行所有选项, 怎么处理 [打印本页]
作者: 如你是我 时间: 2024-1-3 16:08 标题: 批处理一个选项执行所有选项, 怎么处理
- @echo off
- Title DataBase
- Color 0A
- :caozuo
- echo.
- echo ═══════════════════════════════════════
- echo 【数据库操作】:
- echo 1.操作1
- echo 2.操作2
- echo 3.操作3
- echo 4.操作4
- echo 5.操作5
- echo.
- set /p n=输入操作号:
- if "%n%"=="" cls&goto :caozuo
- if "%n%"=="1" call :1
- if "%n%"=="2" call :2
- if "%n%"=="3" call :3
- if "%n%"=="4" call :4
- if "%n%"=="5" call :5
- if /i "%n%"=="n" exit
- pause
- goto :eof
-
- :1
- echo 删除数据库
- goto :caozuo
-
- :2
- echo 还原数据库
- goto :caozuo
-
- :3
- echo 操作3
- goto :caozuo
-
- :4
- goto 1
- goto 3
- goto :caozuo
-
- :5
- goto 1
- goto 2
- goto 3
- goto :caozuo
复制代码
大概这样,当我选择4的时候 按理来说是执行1 3 然后返回选项
但是实际操作下来 选择4 先执行了13 然后又接着执行了选项5的123
该如何操作呢- -
作者: /zhqsystem/zhq 时间: 2024-1-3 19:19
call是循环项循环未执行完goto也在循环内,如非必要goto直接call调用就好了,注意变量值不能冲突
作者: ShowCode 时间: 2024-1-3 22:20
回复 1# 如你是我 - @echo off
- :caozuo
- echo.
- echo ═══════════════════════════════════════
- echo 【数据库操作】:
- echo 1.操作1
- echo 2.操作2
- echo 3.操作3
- echo 4.操作4
- echo 5.操作5
- echo.
- set /p n=输入操作号:
- if "%n%"=="" (
- cls
- goto :caozuo
- ) else if "%n%"=="1" (
- call :1
- ) else if "%n%"=="2" (
- call :2
- ) else if "%n%"=="3" (
- call :3
- ) else if "%n%"=="4" (
- call :1
- call :3
- ) else if "%n%"=="5" (
- call :1
- call :2
- call :3
- ) else if /i "%n%"=="n" (
- exit /b
- )
- goto :caozuo
-
- :1
- echo 删除数据库
- goto :eof
-
- :2
- echo 还原数据库
- goto :eof
-
- :3
- echo 操作3
- goto :eof
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |