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

[文件操作] [己解决]IP格式识别的批处理该如何编写?

:ip
set /p ip=地址:
if /i "%ip%"=="IP格式代码" goto a
goto ip
:a


请教高手,这个IP格式代码该如何编写??

要求识别格式:*.*.*.*
*表示:0-255

[ 本帖最后由 keshun 于 2010-10-13 02:58 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2楼 的帖子

也算,只要能识别*.*.*.*格式就行,数字要求不高,太致范围就行

TOP

回复 5楼 的帖子

地址:121.11
此为IP格式
请按任意键继续. . .

在此感谢你的回复,只是当输入不完整的IP时也显示正确,可见判断格式上还存有缺陷,望解决。

要求能判断格式: *.*.*.* 也就是四段数字三个分隔符

TOP

回复 7楼 的帖子

是用来设IP时,根据手动输入,来判断IP输入是否正确,只要判断IP格式是否正确就行,这代码同时可以判断子网掩码、网关、DNS

TOP

回复 15楼 的帖子

如果不要求数字0-255,只要求是四组数字用“.”分隔的格式就确定为正确,那代码又该怎么编写。

TOP

回复 11楼 的帖子

感谢版主,随风,我测过11楼的代码,可以达到比较好的效果,但还存有一个问题,第四组数字不输入时“*.*.*.”也确定为正常

请输入ip: 12.11.2
输入错误
请输入ip: 12.11.2.
正确ip 12.11.2.
请按任意键继续. . .

[ 本帖最后由 keshun 于 2010-10-12 23:50 编辑 ]

TOP

回复 20楼 的帖子

是有点美中不足,但也勉强可以,也想请教高手帮忙优化下代码



  1. :输入
  2. :重设1
  3. set 标号=1
  4. set 格式输入=
  5. set /p 格式输入= 输入IP 地址:
  6. goto 识别格式
  7. :回设1
  8. echo.
  9. :重设2
  10. set 地址=%格式%
  11. set 标号=2
  12. set 格式输入=
  13. set /p 格式输入= 输入子网掩码:
  14. goto 识别格式
  15. :回设2
  16. echo.
  17. :重设3
  18. set 子网=%格式%
  19. set 标号=3
  20. set 格式输入=
  21. set /p 格式输入= 输入默认网关:
  22. goto 识别格式
  23. :回设3
  24. echo.
  25. :重设4
  26. set 网关=%格式%
  27. set 标号=4
  28. set 格式输入=
  29. set /p 格式输入= 输入首选DNS:
  30. goto 识别格式
  31. :回设4
  32. echo.
  33. :重设5
  34. set 首选=%格式%
  35. set 标号=5
  36. set 格式输入=
  37. set /p 格式输入= 输入备用DNS:
  38. goto 识别格式
  39. :回设5
  40. set 备用=%格式%
  41. goto 跳过
  42. :识别格式
  43. setlocal enabledelayedexpansion
  44. set 格式=%格式输入%
  45. set "s=[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"
  46. echo %格式%|findstr /be "%s%" >nul||set flag=a
  47. set n=%格式:.= %
  48. for %%a in (%n%) do (
  49.    set /a var=1%%a 2>nul
  50.    if !var! gtr 1255 set flag=a
  51. )
  52. if defined flag echo  错误,请重新输入&endlocal&goto 重设%标号%
  53. goto 回设%标号%
  54. :跳过
  55. cls
  56. echo                  ╭────────────────────╮
  57. echo                  │                                        │
  58. echo                  │     确  认  信  息  是  否  准  确     │
  59. echo                  │                                        │
  60. echo                  ╰────────────────────╯
  61. echo.
  62. echo.
  63. echo   【1】IP 地址: %地址%
  64. echo.
  65. echo   【2】子网掩码:%子网%
  66. echo.
  67. echo   【3】默认网关:%网关%
  68. echo.
  69. echo   【4】首选 DNS:%首选%
  70. echo.
  71. echo   【5】备用 DNS:%备用%
  72. echo.
  73. :确认
  74. echo.
  75. echo  确认无误:按[ y ]继续,确认有误:按[ n ]重设
  76. echo.
  77. set 确认=
  78. set /p 确认= 请输入确认结果:
  79. if /i "%确认%"=="y" goto 设置
  80. if /i "%确认%"=="n" goto 输入
  81. goto 确认
复制代码

[ 本帖最后由 keshun 于 2010-10-13 14:37 编辑 ]

TOP

返回列表