标题: [其他] 批处理版区号、邮编查询器 [打印本页]
作者: lhjoanna 时间: 2008-12-4 02:32 标题: 批处理版区号、邮编查询器
查看全国各省、市地区邮编及区号,坛子里搜了一下,发现pusofalse和随风都写过类似工具。全当凑个热闹吧~~~
需要一个文本文件,字数限制就没写在代码里,以附件形式上传吧。- @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 begin
复制代码
链接: https://pan.baidu.com/s/1prkIzH1lrI4tTRlbwkXpTQ 提取码: ccgf
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |