本帖最后由 techon 于 2011-5-26 02:37 编辑
如果将这段代码放在最后不就等于无效了吗,如果放在pause的前面的话这个换算的代码也无效了好像
谁说的?在前面要用到 call :_div
还是没听懂我的意思
把下面这段代码放到你批处理的最后- rem 注意这行 goto :EOF
- goto :EOF
- rem 除法计算子程序
- :_div
- if "%1"=="" echo 请输入被除数(参数 %%^1)&goto :EOF
- if "%2"=="" echo 请输入除数(参数 %%^2)&goto :EOF
- SETLOCAL ENABLEDELAYEDEXPANSION
- set Maxd=2147483647&set scp=0&set ded=%1&set dvr=%2&set quo=&set psc=%3
- if "%psc%"=="" set psc=%Maxd%
- if %dvr% equ 0 ENDLOCAL&echo 错误,除数为零!&goto :EOF
- if %ded% equ 0 ENDLOCAL&set quo=0&goto :EOF
- if "%ded%"=="%1" (
- if not "%dvr%"=="%2" ENDLOCAL&echo 参数 %%^2 输入错误或数值超限&goto :EOF
- ) else (
- echo 参数 %%^1 输入错误或数值超限
- if not "%dvr%"=="%2" ENDLOCAL&echo 参数 %%^2 输入错误或数值超限&goto :EOF
- )
- :divbg
- set/a quo=ded/dvr, rdd=quo*dvr
- if %rdd% neq %ded% (
- if %ded% leq %Maxd:~0,-1% (
- if %scp% lss %psc% set ded=%ded%0&set/a scp+=1&goto :divbg
- )
- )
- if %quo% equ 0 ENDLOCAL&set quo=0&goto :EOF
- if %scp% neq 0 (
- if "!quo:~-%scp%!"=="!quo!" (
- set quo=00000000%quo%&set quo=0.!quo:~-%scp%!
- ) else (
- set quo=!quo:~0,-%scp%!.!quo:~-%scp%!
- )
- )
- ENDLOCAL&set quo=%quo%
- goto :EOF
复制代码 这后面的代码不会被执行
除非这后面有标签 前面有goto 标签或call 标签 |