![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 05:44 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 局域网聊天的批处理,能学到绝大多数批处理命令。 |
| 可打印版本 4,375 / 33 |
| 第1楼 jellord | 发表于 2007-04-03 12:10 |
| 初级用户 发帖 26 积分 92 | |
|
局域网聊天的批处理,能学到绝大多数批处理命令。 以下是我写的局域网聊天的工具程序,虽说没有太大价值,但其中用到了多数的批处理命令,包括一些重要命令和难度较大的命令,发出来,希望学习批处理的新朋友会喜欢,相信对大家学习和理解相关批处理命令是很有价值的。这是修改后的版本
@echo off title 局域网聊天工具 color 1f MODE con: COLS=54 lines=34 :choose cls echo\ echo ┏━━━━━━━━━━━━━━━━━━━┓ echo ┃ ┃ echo ┃ 局域网聊天工具 ┃ echo ┃ copyright by jellord ┃ echo ┗━━━━━━━━━━━━━━━━━━━┛ echo\ echo. echo =============================================== echo. echo 使用本软件您必须确保您的计算机已经启动了 echo windows信使服务,否则请按照以下方法开启: echo. echo 1.在运行框中输入net start messenger; echo 2.在控制面板中进入管理工具, 然后进入 echo 服务程序, 找到messenger服务并启动之。 echo. echo =============================================== echo. set /p choose=请选择(1/退出程序启动信使服务;2/继续): if /i "%choose%"=="1" goto if /i "%choose%"=="2" goto 2 echo. echo. ---------输入错误,请重试!----------&&echo.&&pause&&goto choose :2 if exist ip.txt del /q ip.txt cls echo\ echo ┏━━━━━━━━━━━━━━━━━━━┓ echo ┃ ┃ echo ┃ 局域网聊天工具 ┃ echo ┃ copyright by jellord ┃ echo ┗━━━━━━━━━━━━━━━━━━━┛ echo\ echo 正在扫描局域网在线用户,请稍等... echo. echo ///////////////////////////////////////////////////// echo IP 计算机名 setlocal enabledelayedexpansion net view|find "\\">lan.txt for /f "usebackq" %%j in ('lan.txt') do ( if "%%~zj"=="0" ( echo 对不起,目前没有活跃用户在线!&&echo 对不起,目前没有活跃用户在线! >ip.txt ) else ( for /f "tokens=1" %%i in (lan.txt) do ( set co=%%i set co=!co:\\=! ping -w 1 -n 1 !co!|find /I "!co!">ping.txt for /f "tokens=2,3 delims= " %%a in (ping.txt) do if not "%%b"=="could" echo %%b %%a for /f "tokens=2,3 delims= " %%a in (ping.txt) do if not "%%b"=="could" echo %%b %%a >>ip.txt ) ) ) if exist lan.txt del /q lan.txt&if exist ping.txt del /q ping.txt echo. echo ///////////////////////////////////////////////////// echo 以上显示的是目前局域网内的在线用户 echo. rem ============================================================================================ rem 以上斜线之间部分也可以用下面的代码实现同样的功能,同时还不会产生临时性的文本文件。 rem setlocal enabledelayedexpansion rem net view|find "\\">nul||echo 对不起,目前没有活跃用户在线!||echo 对不起 ,目前没有活跃用户在线!>ip.txt rem for /f "tokens=1" %%i in ('net view ^| find "\\"') do ( rem set co=%%i rem set co=!co:\\=! rem for /f "tokens=2,3 delims= " %%a in ('ping -w 1 -n 1 !co! ^| find /I "!co!"') do if not %%b"=="could" echo %%b %%a rem for /f "tokens=2,3 delims= " %%a in ('ping -w 1 -n 1 !co! ^| find /I "!co!"') do if not %%b"=="could" echo %%b %%a>>ip.txt rem ) rem pause rem ============================================================================================ :user set /p u=请选择对方的计算机名或ip(注意大小写): echo. type ip.txt|find "%u%">nul||echo. -----------输入不在扫描结果中,请重试!------------&&goto p type ip.txt|find "%u%">nul&&goto main :p echo. set /p l=请选择(1/坚持发送;回车返回): if "%l%"=="" echo.&goto user if "%l%"=="1" goto main echo. goto user :main cls echo. echo ┏━━━━━━━━━━━━━━━━━━━┓ echo ┃ 1: 发送信息 3: 重新选择发送对象 ┃ echo ┃ 2: 查看聊天记录 4: 重新扫描局域网 ┃ echo ┃ 0: 退出程序 ┃ echo ┗━━━━━━━━━━━━━━━━━━━┛ echo. echo 您当前正在和 %u% 聊天中... echo. set c= set /p c=请做出您的选择: if /i "%c%"=="4" del /q ip.txt&cls&goto 2 if /i "%c%"=="3" cls&&echo.&&echo 上次扫描的在线用户显示如下 :&&echo.-----------------------------------------------------&&type ip.txt&&echo.&&goto user if /i "%c%"=="0" if exist ip.txt del /q ip.txt&goto if /i "%c%"=="2" goto 3 if /i "%c%"=="1" goto work echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ echo 您的选择不正确! echo 请重新选择 echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ pause goto main :work cls echo.----------------------------------------------------- echo. echo 您当前正在和 %u% 聊天中... echo. echo 聊天过程中可以按回车键返回上级菜单 echo. echo.----------------------------------------------------- set m= set /p m=请输入你将要发送的信息: echo. echo. if "%m%"=="" ( goto main ) else ( echo 你于%date% %time%对%u%说: %m%>>messege.txt echo.正在发送信息,请稍等... net send %u% %m% pause goto work ) :3 echo.----------------------------------------------------- set /p t=请选择(1/当前窗口显示;2/新建窗口显示): if "%t%"=="1" goto t if "%t%"=="2" goto s echo ----------------------------------------------------- echo 错误的选择! goto 3 :t cls echo.----------------------------------------------------- type messege.txt|more&pause goto main :s start messege.txt goto main [ Last edited by jellord on 2007-4-5 at 08:50 PM ] |
|
| 第2楼 binghuochanmian | 发表于 2007-04-03 12:45 |
| 初级用户 发帖 23 积分 55 来自 广东 | |
|
果然很强,只是会不会太烦琐了一点?
|
|
| 第3楼 flyinspace | 发表于 2007-04-03 15:13 |
| 银牌会员 发帖 517 积分 1,206 | |
|
呵呵,windows给我们提供了netmeeting 。
为什么不用呢? |
|
| 第4楼 jellord | 发表于 2007-04-04 09:39 |
| 初级用户 发帖 26 积分 92 | |
|
上面已经说的很清楚了,写这个的目的是学习实践批处理的相关命令,希望能给初学者一个好的案例材料。至于有其他的软件可以使用,不在我写该代码的考虑范围之内。
|
|
| 第5楼 hwhan525 | 发表于 2007-04-04 09:57 |
| 初级用户 发帖 31 积分 82 | |
|
谢谢,楼主提供的学习样本!!初学者很需要这样的东西!!
|
|
| 第6楼 htysm | 发表于 2007-04-16 05:30 |
| 高级用户 发帖 415 积分 866 | |
|
这样的好帖子居然沉了。
|
|
| 第7楼 juventusryp | 发表于 2007-04-16 06:27 |
| 初级用户 发帖 40 积分 88 | |
|
好东西,我支持一下,可以学习下
|
|
| 第8楼 tongwandou | 发表于 2007-04-22 05:09 |
| 初级用户 发帖 50 积分 112 | |
|
拿 回 去 研 究 一 下, 谢 谢 楼 主!!!
|
|
| 第9楼 zhjipt | 发表于 2007-04-22 08:07 |
| 初级用户 发帖 16 积分 40 | |
|
支持............支持
|
|
| 第10楼 aibo28 | 发表于 2007-04-22 12:51 |
| 新手上路 发帖 9 积分 18 | |
|
已经收藏了。感谢。学习不少
|
|
| 第11楼 jashonx | 发表于 2007-04-24 09:28 |
| 初级用户 发帖 21 积分 44 | |
|
值得研究!Sample Text
|
|
| 第12楼 huangxiaohao | 发表于 2007-10-11 21:45 |
| 初级用户 发帖 15 积分 29 | |
|
支持,楼主辛苦了
|
|
| 第13楼 Nickey | 发表于 2007-10-12 00:45 |
| 初级用户 发帖 59 积分 132 来自 GuangZhou | |
|
学习...ing
你的广告可不可以去掉呢? |
|
| 第14楼 putao | 发表于 2007-10-12 11:04 |
| 初级用户 发帖 41 积分 80 | |
|
下了~回去研究,谢谢 下了~回去研究,谢谢
|
|
| 第15楼 mygoldnet | 发表于 2007-10-12 21:20 |
| 初级用户 发帖 32 积分 90 | |
Originally posted by jellord at 2007-4-4 09:39 AM: 太有用了,加到批处理局域网五子棋中就很好。 五子棋要用共享文件夹,要产生文件,还不能聊天。 |
|
| 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |