Board logo

标题: 批处理:通讯录 [打印本页]

作者: zh159     时间: 2006-11-16 00:14    标题: 批处理:通讯录

看了 zouzhxi DOS版的通讯录,有了部分构思:

20 楼最新修改:
11-20修改:采用模块方式减少相同功能脚本,增加联系人是否存在判断功能,修改单项结尾、查看全部联系人检索方式


namejm 版主的查找显示(修改了单项结尾检索方式):
@echo off
:: 要求词库的格式是:单词独占一行(不区分大小写);
:: 翻译的内容另起一行(不允许出现纯字母行),可以有多行。
:begin
cls
set input=
set line=
set /p input=请输入要查找的单词(要退出请直接回车):
if not defined input exit
for /f "tokens=1* delims=:" %%i in ('findstr /nirc:"^%input%" Tel.db') do (if /i "%%j"=="%input%" set line=%%i)
if not "%line%"=="" (goto display) else (
echo _________________________________
echo.
echo 没有找到 %input% 的记录
echo _________________________________
echo.
pause
goto begin)

:display
echo _________________________________
echo.
echo %input%:
for /f "skip=%line% delims=" %%i in (Tel.db) do (
    if "%%i"=="::" goto end
    echo     %%i
)
:end
echo _________________________________
echo.
pause
goto begin
删除某项记录的批处理
@echo off
echo.
set /p 删除人员=  删除人员:
>TelN.db echo ::电话本数据库
>>TelN.db echo --------------------------------------------------
>>TelN.db echo.
setlocal EnableDelayedExpansion
for /f "delims=" %%i in (Tel.db) do (
  if "%%i" == "::" set /a Num+=1
)

set Delete=echo
for /f "skip=3 delims=" %%i in (Tel.db) do (
  if "%%i" == "%删除人员%" set Delete=rem&&set /a N-=1
    !Delete! %%i>>TelN.db
  if "%%i" == "::" !Delete!.>>TelN.db&&set /a N+=1&&cls&&echo.&&echo   !N!/%Num%&&set Delete=echo
)
pause
del Tel.db
ren TelN.db Tel.db
exit
Tel.db 电话本数据库
::电话本数据库
--------------------------------------------------

张三
联系人姓名:张三
联系人电话:张三
联系人地址:张三
联系人单位:张三
::

李四
联系人姓名:李四
联系人电话:李四
联系人地址:李四
联系人单位:李四
::

王五
联系人姓名:王五
联系人电话:王五
联系人地址:王五
联系人单位:王五
::
新增单项
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set...
set /p 联系人姓名=联系人姓名:
set /p 联系人电话=联系人电话:
set /p 联系人地址=联系人单位:
set /p 联系人单位=联系人地址:
set /p...

>>Tel.db echo %联系人姓名%
>>Tel.db echo 联系人姓名:%联系人姓名%
>>Tel.db echo 联系人电话:%联系人电话%
if not "%联系人单位%"=="" >>Tel.db echo 联系人单位:%联系人单位%
if not "%联系人地址%"=="" >>Tel.db echo 联系人地址:%联系人地址%
if...
>>Tel.db echo ::
>>Tel.db echo.
[ Last edited by zxcv on 2006-11-21 at 03:20 AM ]
作者: ccwan     时间: 2006-11-16 01:39
set 联系人姓名
set 联系人电话
set 联系人单位
set 联系人地址

环境变量没有定义,貌似应为
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=


不过做得很不错,值得加分。
作者: ccwan     时间: 2006-11-16 01:45
建议再加入全部浏览的命令,因为我就比较喜欢全部显示后再从中查找。
作者: zh159     时间: 2006-11-16 01:56


  Quote:
Originally posted by ccwan at 2006-11-15 13:39:
set 联系人姓名
set 联系人电话
set 联系人单位
set 联系人地址

环境变量没有定义,貌似应为
set 联系人姓名=
set 联系人电话=
set 联系人单位= ...

漏了^_^,谢谢指正

  Quote:
Originally posted by ccwan at 2006-11-15 13:45:
建议再加入全部浏览的命令,因为我就比较喜欢全部显示后再从中查找。

简单啊,加入一个选项跳转执行“notepad Tel.db”,直接浏览库文件^_^
作者: ccwan     时间: 2006-11-16 03:12
呵呵,加一个start好不好?不喜欢黑窗口一直开着。
作者: vkill     时间: 2006-11-16 03:28
我觉得这样还不如直接用记事本来的快
作者: ccwan     时间: 2006-11-16 03:40
re:vkill
其实这样只是提供一种思路,让大家明白一些命令的用法。并非一定要使用这种通讯录。
有好多软件只是完成几个简单的命令,还做得很复杂呢。^_^
vkill兄别见怪。
作者: zh159     时间: 2006-11-16 03:52
基本应用,不用先建立“Tel.db”

通讯录.bat
@echo off
title 通讯录
mode con cols=80 lines=25
set DisPlay=
:Main
cls
echo.
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo   ※                                                                        ※
echo   ※                     ☆欢迎使用命令提示符版通讯录☆                     ※
echo   ※                                                                        ※
echo   ※              zxcv@bbs.cn-dos.net    zh59@bbs.blueshow.net              ※
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo.
echo     ※ 增加新联系人(N) ※ 删除联系人(D) ※ 修改联系人(M) ※ 查看Tel.db(V) ※
echo.
set input=
set line=
set /p input=  选择(直接输入联系人查询)%DisPlay%:
if not exist Tel.db call :Tel.db
if "%input%"=="" set DisPlay=&goto Main
for %%n in (n N) do if "%input%"=="%%n" goto New
for %%n in (d D) do if "%input%"=="%%n" goto Del
for %%n in (m M) do if "%input%"=="%%n" goto Modify
for %%n in (v V) do if "%input%"=="%%n" goto db

for /f "tokens=1* delims=:" %%i in ('findstr /nirc:"^%input%" Tel.db') do (if /i "%%j"=="%input%" set line=%%i)
if not "%line%"=="" (goto display) else (
echo   ________________________________________
echo.
echo   没有找到 %input% 的记录
echo   ________________________________________
echo.
pause
set DisPlay=
goto Main)

:display
echo   ________________________________________
echo.
for /f "skip=%line% delims=" %%i in (Tel.db) do (
    if "%%i"=="::" goto end
    echo     %%i
)
:end
echo   ________________________________________
echo.
pause
set DisPlay=
goto Main

:Tel.db
>Tel.db echo ::电话本数据库
>>Tel.db echo --------------------------------------------------
>>Tel.db echo.
goto :eof

:New
echo.
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set /p 联系人姓名=  联系人姓名:
if "%联系人姓名%"=="" goto Main
set /p 联系人电话=  联系人电话:
set /p 联系人地址=  联系人单位:
set /p 联系人单位=  联系人地址:

>>Tel.db echo %联系人姓名%
>>Tel.db echo 联系人姓名:%联系人姓名%
>>Tel.db echo 联系人电话:%联系人电话%
if not "%联系人单位%"=="" >>Tel.db echo 联系人单位:%联系人单位%
if not "%联系人地址%"=="" >>Tel.db echo 联系人地址:%联系人地址%
>>Tel.db echo ::
>>Tel.db echo.
set DisPlay=(增加新联系人: %联系人姓名%)
goto Main

:Del
echo.
set N=
set Num=
set /p 删除联系人=  删除联系人:
if "%删除联系人%"=="" set DisPlay=&goto Main

>TelN.db echo ::电话本数据库
>>TelN.db echo --------------------------------------------------
>>TelN.db echo.
set Delete=echo
setlocal EnableDelayedExpansion

for /f "skip=3 delims=" %%i in (Tel.db) do (
  if "%%i" == "%删除联系人%" set Delete=rem
    !Delete! %%i>>TelN.db
  if "%%i" == "::" !Delete!.>>TelN.db&&set Delete=echo
)
echo.
move/y Tel.db TelBak.db
ren TelN.db Tel.db
set DisPlay=(联系人 %删除联系人% 已删除)
goto Main

:Modify
echo.
set 修改联系人姓名=
set /p 修改联系人姓名=  修改联系人姓名:
if "%修改联系人姓名%"=="" set DisPlay=&goto Main
echo.
echo   修改:
echo.
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set /p 联系人姓名=  联系人姓名:
if "%联系人姓名%"=="" goto Main
set /p 联系人电话=  联系人电话:
set /p 联系人地址=  联系人单位:
set /p 联系人单位=  联系人地址:

set 删除联系人=%修改联系人姓名%
>TelN.db echo ::电话本数据库
>>TelN.db echo --------------------------------------------------
>>TelN.db echo.
set Delete=echo
setlocal EnableDelayedExpansion

for /f "skip=3 delims=" %%i in (Tel.db) do (
  if "%%i" == "%删除联系人%" set Delete=rem
    !Delete! %%i>>TelN.db
  if "%%i" == "::" !Delete!.>>TelN.db&&set Delete=echo
)
echo.
move/y Tel.db TelBak.db
ren TelN.db Tel.db

>>Tel.db echo %联系人姓名%
>>Tel.db echo 联系人姓名:%联系人姓名%
>>Tel.db echo 联系人电话:%联系人电话%
if not "%联系人单位%"=="" >>Tel.db echo 联系人单位:%联系人单位%
if not "%联系人地址%"=="" >>Tel.db echo 联系人地址:%联系人地址%
>>Tel.db echo ::
>>Tel.db echo.
set DisPlay=(联系人 %修改联系人姓名% 已修改)
goto Main

:db
start notepad Tel.db
goto Main
其实修改联系人是删除联系人与增加新联系人联合处理的

[ Last edited by zxcv on 2006-11-15 at 03:55 PM ]
附件 1: IE 通讯录.gif (2006-11-27 04:04, 19.24 K, 下载附件所需积分 1点 ,下载次数: 3)


附件 2: 新增联系人.gif (2006-11-27 04:06, 20.39 K, 下载附件所需积分 1点 ,下载次数: 3)


附件 3: 联系人资料.gif (2006-11-27 04:06, 40.41 K, 下载附件所需积分 1点 ,下载次数: 3)



作者: zouzhxi     时间: 2006-11-16 05:31
回楼上:
你有代码好像没有双向查询功能,

  Quote:
知道名字,不知道号码,这个查询功能已经有了.
可是只知道号码,不知道名字,这个查询功能就没有.
因为我们写通讯录的时候,不止10个100个,多了,就记不住(处于模糊状态).

[ Last edited by zouzhxi on 2006-11-16 at 05:32 AM ]
作者: ccwan     时间: 2006-11-16 05:35
拜托!难道要求全责备?
说过是一种思路了,自己举一反三嘛!
作者: zouzhxi     时间: 2006-11-16 05:40
我只是说,能不能实现双向模糊查询这一功能.,没有责备的意思。。。
作者: vkill     时间: 2006-11-16 06:14


  Quote:
Originally posted by zouzhxi at 2006-11-16 05:40:
我只是说,能不能实现双向模糊查询这一功能.,没有责备的意思。。。

这个完全可以,不过"数据库"的格式决定你代码的简单是否,如果用sed代码更好写,和公交线路查询的差不多,~
http://www.cn-dos.net/forum/viewthread.php?tid=24668&fpage=1帖子11楼是sed版的
作者: zh159     时间: 2006-11-16 10:27
修改:联系人或电话双向查询、查看全部联系人及电话

通讯录.bat
@echo off
title 通讯录
mode con cols=80 lines=25
set DisPlay=
setlocal EnableDelayedExpansion
:Main
cls
echo.
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo   ※                                    ※
echo   ※           ☆欢迎使用命令提示符版通讯录☆           ※
echo   ※                                    ※
echo   ※       zxcv@bbs.cn-dos.net  zh59@bbs.blueshow.net       ※
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo.
echo     ※ 新增(N) ※ 删除(D) ※ 修改(M) ※ 查看全部(A) ※ 查看 Tel.db(V) ※
echo.
set input=
set line=
set /p input=  选择(直接输入联系人或电话查询)%DisPlay%:
if not exist Tel.db call :Tel.db
if "%input%" == "" set DisPlay=&goto Main
if /i "%input%" == "n" goto New
if /i "%input%" == "d" goto Del
if /i "%input%" == "m" goto Modify
if /i "%input%" == "a" goto All
if /i "%input%" == "v" goto db

for /f "tokens=1,2,3* delims=:" %%i in ('findstr /nirc:"%input%" Tel.db') do (
  if "%%j" == "%input%" set line=%%i
  if "%%k" == "%input%" set line=%%i)
if not "%line%" == "" (goto display) else (
echo   ________________________________________
echo.
echo   没有找到 %input% 的记录
echo   ________________________________________
echo.
pause
set DisPlay=
goto Main)

:display
echo   ________________________________________
echo.
for /f "skip=%line% delims=" %%i in (Tel.db) do (
    if "%%i" == "::" goto end
    echo     %%i
)
:end
echo   ________________________________________
echo.
pause
set DisPlay=
goto Main

:Tel.db
>Tel.db echo ::电话本数据库
>>Tel.db echo --------------------------------------------------
>>Tel.db echo.
goto :eof

:New
echo.
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set /p 联系人姓名=  联系人姓名:
if "%联系人姓名%" == "" goto Main
set /p 联系人电话=  联系人电话:
set /p 联系人地址=  联系人单位:
set /p 联系人单位=  联系人地址:

>>Tel.db echo %联系人姓名%:%联系人电话%:::
>>Tel.db echo 联系人姓名:%联系人姓名%
>>Tel.db echo 联系人电话:%联系人电话%
if not "%联系人单位%" == "" >>Tel.db echo 联系人单位:%联系人单位%
if not "%联系人地址%" == "" >>Tel.db echo 联系人地址:%联系人地址%
>>Tel.db echo ::
>>Tel.db echo.
set DisPlay=(增加新联系人: %联系人姓名%)
goto Main

:Del
echo.
set N=
set Num=
set /p 删除联系人=  删除联系人:
if "%删除联系人%" == "" set DisPlay=&goto Main

>TelN.db echo ::电话本数据库
>>TelN.db echo --------------------------------------------------
>>TelN.db echo.
set Delete=echo

for /f "skip=3 delims=" %%i in (Tel.db) do (
    call :DelName %%i
  if "!数据库!" == "%删除联系人%" set Delete=rem
    !Delete! %%i>>TelN.db
  if "%%i" == "::" !Delete!.>>TelN.db&&set Delete=echo
)
echo.
move/y Tel.db TelBak.db
ren TelN.db Tel.db
set DisPlay=(联系人 %删除联系人% 已删除)
goto Main

:Modify
echo.
set 修改联系人姓名=
set /p 修改联系人姓名=  修改联系人姓名:
if "%修改联系人姓名%" == "" set DisPlay=&goto Main
echo.
echo   修改:
echo.
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set /p 联系人姓名=  联系人姓名:
if "%联系人姓名%" == "" goto Main
set /p 联系人电话=  联系人电话:
set /p 联系人地址=  联系人单位:
set /p 联系人单位=  联系人地址:

set 删除联系人=%修改联系人姓名%
>TelN.db echo ::电话本数据库
>>TelN.db echo --------------------------------------------------
>>TelN.db echo.
set Delete=echo
setlocal EnableDelayedExpansion

for /f "skip=3 delims=" %%i in (Tel.db) do (
    call :DelName %%i
  if "!数据库!" == "%删除联系人%" set Delete=rem
    !Delete! %%i>>TelN.db
  if "%%i" == "::" !Delete!.>>TelN.db&&set Delete=echo
)
echo.
move/y Tel.db TelBak.db
ren TelN.db Tel.db

>>Tel.db echo %联系人姓名%:%联系人电话%:::
>>Tel.db echo 联系人姓名:%联系人姓名%
>>Tel.db echo 联系人电话:%联系人电话%
if not "%联系人单位%" == "" >>Tel.db echo 联系人单位:%联系人单位%
if not "%联系人地址%" == "" >>Tel.db echo 联系人地址:%联系人地址%
>>Tel.db echo ::
>>Tel.db echo.
set DisPlay=(联系人 %修改联系人姓名% 已修改)
goto Main

:All
cls
echo.
echo   通讯录所有联系人:
echo.
set N=
for /f "skip=3 delims=" %%i in (Tel.db) do (
    set All=%%i
  if "!All:~-3!" == ":::" set /a N+=1&set AllShow=!All::::=!&&echo     !AllShow::=: !
    set /a P=!N!%%19
  if "!P!" == "0" if "!All:~-3!" == ":::" call :AllPaus)
echo.
pause
goto Main

:db
start notepad Tel.db
goto Main

:DelName
for /f "tokens=1* delims=:" %%n in ("%1") do set 数据库=%%n
goto :eof

:AllPaus
echo.
set Paus=
set /p Paus=  回车继续(B返回主界面)...
if /i "%Paus%" == "b" goto Main
cls
echo.
echo   通讯录所有联系人:
echo.
goto :eof
[ Last edited by zxcv on 2006-11-15 at 11:14 PM ]
附件 1: 修改联系人资料.gif (2006-11-27 04:07, 22.48 K, 下载附件所需积分 1点 ,下载次数: 4)


附件 2: 所有联系人资料.gif (2006-11-27 04:08, 49.41 K, 下载附件所需积分 1点 ,下载次数: 3)



作者: namejm     时间: 2006-11-16 11:05
  对于
for %%n in (n N) do if "%input%" == "%%n" goto New
之类的for语句,可以用
if /i "%input%"=="n"
来替换,以达到简化代码的目的。
作者: zh159     时间: 2006-11-16 11:08
if /i "%input%"=="n"
忘了这个

谢谢 namejm 版主提醒
作者: redtek     时间: 2006-11-17 21:40
这图片有意思,哈哈~:)
作者: zouzhxi     时间: 2006-11-17 23:37
好呀。。
功能越来越多。。。
代码越来越简。。。
问题越来越少。。。
呵呵。。。
作者: redtek     时间: 2006-11-18 00:20
建议每修改、更新一个通讯录的版本后,在首楼提供一个可以直接下载的文件链接~:)
这样方便大家下载使用 和 方便看到下载计数间接统计对此感兴趣的网友人数~:)
同时,也只有新注册用户才可以下载附件,所以又间接增加了对此感兴趣而必须注册的用户数量~:)
作者: lits87     时间: 2006-11-18 09:13
找基础贴看先..
:(
作者: zh159     时间: 2006-11-21 15:21
11-20修改:采用模块方式减少相同功能脚本,增加联系人是否存在判断功能,修改数据库单项结尾、查看全部联系人检索方式
@echo off
title 通讯录
mode con cols=80 lines=25
set DisPlay=
setlocal EnableDelayedExpansion
:Main
cls
echo.
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo   ※                                    ※
echo   ※           ☆欢迎使用命令提示符版通讯录☆           ※
echo   ※                                    ※
echo   ※       zxcv@bbs.cn-dos.net  zh159@bbs.blueshow.net       ※
echo   ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
echo.
echo     ※ 新增(N) ※ 删除(D) ※ 修改(M) ※ 查看全部(A) ※ 查看 Tel.db(V) ※
echo.
set input=
set line=
set /p input=  选择(直接输入联系人或电话查询)%DisPlay%:
if not exist Tel.db call :Tel.db
if "%input%" == "" set DisPlay=&goto Main
if /i "%input%" == "n" goto New
if /i "%input%" == "d" goto Del
if /i "%input%" == "m" goto Modify
if /i "%input%" == "a" goto All
if /i "%input%" == "v" goto db

for /f "tokens=1,2,3* delims=:" %%i in ('findstr /nirc:"%input%" Tel.db') do (
  if "%%j" == "%input%" set line=%%i
  if "%%k" == "%input%" set line=%%i)
if not "%line%" == "" (goto Display) else (
echo   __________________________________________________
echo.
echo   没有找到 %input% 的记录
echo   __________________________________________________
echo.
pause
set DisPlay=
goto Main)

:Display
echo   __________________________________________________
echo.
for /f "skip=%line% delims=" %%i in (Tel.db) do (
    if "%%i" == "-End-" goto End
    echo     %%i
)
:End
echo   __________________________________________________
echo.
pause
set DisPlay=
goto Main

:Tel.db
>Tel.db echo ::电话本数据库
>>Tel.db echo --------------------------------------------------
>>Tel.db echo.
goto :eof

:New
set YN=Y
set check=
echo   (直接回车取消并返回主界面)
call :Input
if "%check%" == "Y" set DisPlay=&echo   联系人 %input% 已存在!&echo.&Pause&goto Main
if "%联系人姓名%" == "" set DisPlay=&goto Main
call :Newdb
set DisPlay=(增加新联系人: %联系人姓名%)
goto Main

:Del
set YN=N
set check=
echo   (直接回车取消并返回主界面)
echo.
set /p 删除联系人=  删除联系人:
if "%删除联系人%" == "" set DisPlay=&goto Main
set input=%删除联系人%
call :Check
if "%check%" == "N" set DisPlay=&echo   联系人 %input% 不存在!&echo.&pause&goto Main
call :Deldb
set DisPlay=(联系人 %删除联系人% 已删除)
goto Main

:Modify
set YN=N
set check=
echo   (直接回车取消并返回主界面)
echo.
set 修改联系人姓名=
set /p 删除联系人=  修改联系人姓名:
set input=%删除联系人%
call :Check
if "%check%" == "N" set DisPlay=&echo   联系人 %input% 不存在!&echo.&pause&goto Main
if "%删除联系人%" == "" set DisPlay=&goto Main
echo   修改为:
call :Input
if "%联系人姓名%" == "" set DisPlay=&goto Main
call :Deldb
call :Newdb
set DisPlay=(联系人 %删除联系人% 已修改)
goto Main

:All
cls
echo.
echo   通讯录所有联系人:
echo.
set N=
for /f "skip=3 delims=" %%i in (Tel.db) do (
    set All=%%i
  if "!All:~-2!" == "::" set /a N+=1&set AllShow=!All:::=!&&echo     !AllShow::= 电话: !
    set /a Page=!N!%%19
  if "!Page!" == "0" if "!All:~-2!" == "::" call :AllPaus)
echo.
pause
goto Main

:db
start notepad Tel.db
goto Main

:Input
echo.
set 联系人姓名=
set 联系人电话=
set 联系人单位=
set 联系人地址=
set /p 联系人姓名=  联系人姓名:
if "%联系人姓名%" == "" goto :eof
set input=%联系人姓名%
call :Check
if "%check%" == "%YN%" goto :eof
set /p 联系人电话=  联系人电话:
set /p 联系人地址=  联系人单位:
set /p 联系人单位=  联系人地址:
goto :eof

:Newdb
>>Tel.db echo %联系人姓名%:%联系人电话%::
>>Tel.db echo 联系人姓名: %联系人姓名%
>>Tel.db echo 联系人电话: %联系人电话%
if not "%联系人单位%" == "" >>Tel.db echo 联系人单位: %联系人单位%
if not "%联系人地址%" == "" >>Tel.db echo 联系人地址: %联系人地址%
>>Tel.db echo -End-
>>Tel.db echo.
goto :eof

:Deldb
move/y Tel.db TelBak.db
call :Tel.db
set Delete=echo
for /f "skip=3 delims=" %%i in (TelBak.db) do (
  for /f "tokens=1* delims=:" %%n in ("%%i") do (
  if "%%n" == "%删除联系人%" set Delete=rem
    >>Tel.db !Delete! %%i
  if "%%i" == "-End-" >>Tel.db !Delete!.&&set Delete=echo
))
goto :eof

:AllPaus
echo.
set Paus=
set /p Paus=  回车继续下一页(B返回主界面)...
if /i "%Paus%" == "b" goto Main
cls
echo.
echo   通讯录所有联系人:
echo.
goto :eof

:Check
for /f "tokens=1,2,3* delims=:" %%i in ('findstr /nirc:"%input%" Tel.db') do (
  if "%%j" == "%input%" set line=%%i
  if "%%k" == "%input%" set line=%%i)
if not "%line%" == "" (goto CheckDisplay) else (
echo.
set check=N
goto :eof)

:CheckDisplay
echo   __________________________________________________
echo.
for /f "skip=%line% delims=" %%i in (Tel.db) do (
    if "%%i" == "-End-" goto CheckEnd
    echo     %%i
)
:CheckEnd
echo   __________________________________________________
echo.
set check=Y
goto :eof

作者: redtek     时间: 2006-11-21 23:04
如果你要做个如何编写这个通讯录的视频教学片,
同时一边讲一边演示、一边讲一边阐述原理,
然后公开发行到各个网站下载区,做为批处理教学片的一部分多好啊~:)