[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 几维kiwi 于 2012-2-25 17:56 编辑

写了一个较完整的版本,写的不好的地方,请大家指出一下,多谢!
  1. ::设置等待用户输入,并将输入结果显示在批处理窗口;
  2. ::将用户输入的第一数字和第二个数字之和显示在批处理窗口;
  3. @echo off
  4. echo .........Summary Program..........
  5. rem 用户输入两个数字
  6. :begin
  7. echo.
  8. set num1=
  9. set num2=
  10. set /p num1=^> please input number1:
  11. set /p num2=^> please input number2:
  12. rem 检查输入的字符是否为数字
  13. set numFlag=true
  14. call :checkNumber %num1%
  15. if "%result%" == "false" echo error:number1 is not a number&(set numFlag=false)
  16. call :checkNumber %num2%
  17. if "%result%" == "false" echo error:number2 is not a number&(set numFlag=false)
  18. if "%numFlag%" == "false" goto :begin
  19. rem 如果输入的都是数字,则对数字相加,并输出结果
  20. set /a sum=num1+num2
  21. echo ==========RESULT============
  22. echo num1=%num1%
  23. echo num2=%num2%
  24. echo num1+num2=%sum%
  25. echo ============================
  26. rem 是否重来?
  27. echo.
  28. set /p redo=try again? (y or n)
  29. if /i "%redo%"=="y" goto :begin
  30. echo enter any key to exit ...
  31. pause>nul
  32. goto :eof
  33. rem 定义函数:判断是否为数字
  34. rem 判断方法:通过判断字符串是否被数字分割来判断是否包含数字
  35. :checkNumber
  36. set n=%1
  37. if not "%n%"=="" (
  38. for /f "delims=1234567890" %%a in ("%n%@") do if "%%a"=="@" (set result=true) else (set result=false)
  39. ) else (
  40. set result=false
  41. )
  42. goto :eof
复制代码

TOP

返回列表