| @echo off&setlocal enabledelayedexpansion |
| :begin |
| mode con cols=60 lines=25 |
| cls |
| echo. |
| echo ╭────────╮ |
| echo ╭───────┤ 区号邮编查询器 ├───────╮ |
| echo │ ╰────────╯ │ |
| echo │ │ |
| echo │ 本程序能可以查询全国各主要城市的区号和 │ |
| echo │ │ |
| echo │ 邮编。提供三种查询方式:1、按区号查询;2、按 │ |
| echo │ │ |
| echo │ 邮编查询;3、按省(直辖市)名查询;查询时输入相 │ |
| echo │ │ |
| echo │ 应的代号即可(按q返回上一层)。 │ |
| echo │ │ |
| echo │ 附加一个文本文件"区号邮编.txt",资料来源 │ |
| echo │ │ |
| echo │ 于网上。如发现错误,欢迎提出! │ |
| echo │ │ |
| echo │ code by lhjoanna │ |
| echo │ │ |
| echo ╰────────────────────────╯ |
| echo. |
| set input= |
| set /p input=请输入代号: |
| if "%input%" equ "1" goto section |
| if "%input%" equ "2" goto postalcode |
| if "%input%" equ "3" goto province |
| if "%input%" equ "" echo 输入有误,请重新输入&pause>nul&goto begin |
| if not "%input:~1,1%" equ "" echo 输入有误,请重新输入&pause>nul&goto begin |
| if not "%input%" gtr 0 echo 输入有误,请重新输入&pause>nul&goto begin |
| if not "%input%" lss 4 echo 输入有误,请重新输入&pause>nul&goto begin |
| :section |
| mode con cols=25 lines=15 |
| cls |
| echo. |
| set /p sec=请输入区号: |
| if "%sec%" equ "q" goto begin |
| echo %sec%|findstr "^0[0-9]*$">nul||goto section |
| set num=0 |
| echo.&echo 区号:%sec% |
| for /f "tokens=2-5" %%i in ('findstr "\<%sec%\>" 区号邮编.txt') do ( |
| set /a num+=1 |
| if !num! lss 10 set "num= !num!" |
| echo !num! %%l %%k |
| if !num! equ 10 pause>nul&cls&echo. |
| ) |
| if !num! equ 0 echo 未找到相应信息!&pause>nul&goto section |
| pause>nul |
| goto begin |
| :postalcode |
| mode con cols=25 lines=10 |
| cls |
| set /p post=请输入邮编: |
| if "%post%" equ "q" goto begin |
| echo %post%|findstr "^[0-9][0-9][0-9][0-9][0-9][0-9]$">nul||goto postalcode |
| set num=0 |
| echo.&echo. |
| echo 邮编:%post% |
| for /f "tokens=2-5" %%i in ('findstr "\<%post%\>" 区号邮编.txt') do ( |
| set /a num+=1 |
| if !num! lss 10 set num=0!num! |
| echo !num! %%l %%k |
| ) |
| if !num! equ 0 echo 未找到相应信息!&pause>nul&goto postalcode |
| pause>nul |
| goto begin |
| :province |
| mode con cols=50 lines=25 |
| cls |
| echo. |
| set /p pro=请输入省(直辖市)名: |
| if "%pro%" equ "q" goto begin |
| echo %pro%|findstr "^[^0-9][^a-z]*$">nul||goto province |
| echo.&echo 省(直辖市)名:%pro% |
| set num=0 |
| for /f "tokens=2-5" %%i in ('findstr "\<%pro%\>" 区号邮编.txt') do ( |
| set /a num+=1 |
| if !num! equ 1 echo ID 省名 县市名 区号 邮编 |
| if !num! lss 10 (set "num= !num!") else if !num! lss 100 (set "num= !num!") |
| echo !num! %%l %%k %%i %%j |
| set /a a=num%%20 |
| if !a! equ 0 pause>nul&cls&echo.&echo ID 省名 县市名 区号 邮编 |
| |
| ) |
| if !num! equ 0 echo.&echo 未找到相应信息! |
| pause>nul |
| goto beginCOPY |