这图片有意思,哈哈~:)
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@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 | +3 | 2006-11-21 23:02 |