[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] [分享]批处理版局域网聊天软件

先选择一台电脑作为服务器,运行一下st.cmd,再将D:\ltserver设为共享
将chat.cmd中D:\ltserver改为\\服务器名\D:\ltserver
第一次先从http://www.namipan.com/d/d0f2ef32a0c523d809330c3392b9f2390bd347d200040000下载sleep程序,再运行chat.cmd;以后可直接运行chat.cmd
chat.cmd代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title 登录窗口
  4. mode con cols=50 lines=10
  5. set server=D:\ltserver
  6. echo 请输入用户名及密码,如果没有该用户,将根据输入内容注册用户
  7. echo 用户名中不能有数字
  8. :sr
  9. set username=""
  10. set /p username=用户名:
  11. set mima=""
  12. set /p mima=密码:
  13. if exist %server%\users\%username% goto logon
  14. echo %mima%>>%username%
  15. copy .\%username% %server%\users\>>nul
  16. del %username%>>nul
  17. cls
  18. echo %username%用户注册成功,请登录
  19. goto sr
  20. :logon
  21. for /f %%p in (%server%\users\%username%) do set tps=%%p
  22. if "%tps%"=="%mima%" goto success
  23. cls
  24. echo 密码错误,请重新输入
  25. goto sr
  26. :success
  27. echo 登录中
  28. copy %server%\users\%username% %server%\online\
  29. start userlist.cmd %username% %server%
  30. start roomlist.cmd %username% %server%
  31. start suru.cmd %username% %server%
  32. exit
复制代码
st.cmd代码
  1. set server=D:\ltserver
  2. md %server%\users
  3. md %server%\online
  4. md %server%\rooms
复制代码
userlist.cmd代码
  1. @echo off
  2. title 用户列表
  3. mode con cols=20 lines=30
  4. set username=%1
  5. set server=%2
  6. :list
  7. cls
  8. echo 当前在线用户:
  9. dir /b %server%\online\
  10. sleep 5000
  11. goto list
  12. pause
复制代码
roomlist.cmd代码
  1. @echo off
  2. title 聊天室列表
  3. mode con cols=20 lines=30
  4. set username=%1
  5. set server=%2
  6. :listro
  7. cls
  8. echo 已创建的聊天室:
  9. dir /b %server%\rooms
  10. set roomchoice=""
  11. sleep 5000
  12. goto listro
复制代码
suru.cmd代码
  1. @echo off
  2. title 输入窗口
  3. mode con cols=31 lines=11
  4. set username=%1
  5. set server=%2
  6. :12
  7. set /p roomname=请输入你要进入的聊天室的名称。要创建一个聊天室,输入creatroom。输入tuichu将注销%username%并关闭软件:
  8. if %roomname%==creatroom goto creat
  9. if %roomname%==tuichu goto end
  10. if exist %server%\rooms\%roomname%\ltnr goto enter
  11. cls
  12. echo 没有叫%roomname%的聊天室
  13. goto 12
  14. :enter
  15. start chatroom.cmd %username% %server% %roomname%
  16. goto suruh
  17. :end
  18. del %server%\online\%username%
  19. taskkill /im cmd.exe
  20. taskkill /im cmd.exe
  21. taskkill /im cmd.exe
  22. taskkill /im cmd.exe
  23. taskkill /im cmd.exe
  24. taskkill /im cmd.exe
  25. taskkill /im cmd.exe
  26. exit
  27. :creat
  28. set roomname=""
  29. set /p roomname=给聊天室起个名字(名称中不能有数字):
  30. md %server%\rooms\%roomname%
  31. echo %username%>>%server%\rooms\%roomname%\creater
  32. attrib +h %server%\rooms\%roomname%\creater
  33. echo %roomname%创建成功,按任意键进入聊天室
  34. pause>>null
  35. start chatroom.cmd %username% %server% %roomname%
  36. :suruh
  37. cls
  38. set hua=""
  39. :tm
  40. cls
  41. set /p hua=输入你要讲的话,输入tuichu将退出该聊天室:
  42. if %hua%==tuichu goto exlt
  43. echo %username%说:>>%server%\rooms\%roomname%\ltnr
  44. echo %hua%>>%server%\rooms\%roomname%\ltnr
  45. goto tm
  46. :exlt
  47. rmdir %server%\rooms\%roomname%\%username%
  48. echo 您已退出聊天室%roomname%,请自行关闭聊天窗口
  49. pause
  50. cls
  51. goto 12
复制代码
chatroom.cmd代码
  1. @echo off
  2. title 聊天窗口
  3. mode con cols=80 lines=35
  4. set username=%1
  5. set server=%2
  6. set roomname=%3
  7. md %server%\rooms\%roomname%\%username%>>null
  8. for /f %%l in (%server%\rooms\%roomname%\creater) do set leader=%%l
  9. cls
  10. :main
  11. echo 聊天室创建者:%leader%
  12. echo 该聊天室成员:
  13. dir /b %server%\rooms\%roomname%
  14. if exist %server%\rooms\%roomname%\ltnr goto xs
  15. echo.>>%server%\rooms\%roomname%\ltnr
  16. :xs
  17. attrib +h %server%\rooms\%roomname%\ltnr
  18. type %server%\rooms\%roomname%\ltnr
  19. sleep 3000
  20. cls
  21. goto main
复制代码
4

评分人数

先mark一下,等有空慢慢啃
Live long and prosper

TOP

局域网聊天单文件简易版
  1. @echo off
  2. if exist bbsdata\ goto 2
  3. md bbsdata
  4. echo.>bbsdata\sybbs.txt
  5. echo [.ShellClassInfo]>bbsdata\desktop.ini
  6. echo CLSID={20D04FE0-3AEA-1069-A2D8-08002B30309D}>>bbsdata\desktop.ini
  7. attrib bbsdata\desktop.ini +s +h +r
  8. attrib bbsdata +s +h +r
  9. :2
  10. if exist 共享的文件\ goto 3
  11. md 共享的文件
  12. :3
  13. if exist bbsdata\sybbs.txt goto _max
  14. :_max
  15. mode con: cols=62 lines=4
  16. color f0
  17. title 局域网聊天 V2.0 by:Dr.ma
  18. cls
  19. echo                            登录
  20. echo.
  21. set mz=
  22. set jrw=
  23. set /p jrw=  请输入你的名称后回车:
  24. if '%jrw%'=='' set jrw=游客
  25. if '%jrw%'=='admin' goto _m2
  26. :_m1
  27. set mz=1
  28. title 局域网聊天 V2.0 by:Dr.ma 登录员:%jrw%
  29. mode con: cols=65 lines=11
  30. cls
  31. echo                          欢迎你 %jrw%
  32. echo  ╭═════════════════════════════╮
  33. echo  ║                       1、进入聊天                        ║
  34. echo  ║                         2、注销                          ║
  35. echo  ║                   Esc、退出局域网聊天                    ║
  36. echo  ╰═════════════════════════════╯
  37. set chi=
  38. set /p chi=  请选择操作后回车:
  39. if '%chi%'=='' goto _m1
  40. if /i '%chi%'=='1' goto uu
  41. if /i '%chi%'=='2' goto _max
  42. if /i '%chi%'=='Esc' exit
  43. goto _m1
  44. :gx
  45. set xlw=
  46. set /p xlw=  请将要共享的文件(夹)拖到这里:
  47. if '%xlw%'=='' goto gx
  48. copy %xlw% .\共享的文件\
  49. echo %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒  %jrw% >> .\bbsdata\sybbs.txt
  50. echo %jrw%发送了共享文件 >> .\bbsdata\sybbs.txt
  51. echo. >> .\bbsdata\sybbs.txt
  52. goto sh
  53. :uu
  54. mode con: cols=62 lines=200
  55. :sh
  56. cls
  57. type .\bbsdata\sybbs.txt
  58. echo ═══════════════════════════════
  59. echo 注:输入“q”返回到控制界面,输入“gx”打开共享文件夹,
  60. echo     输入“fs”发送共享文件。
  61. set shy=
  62. set /p shy=请输入你的话后回车:
  63. if '%shy%'=='' goto sh
  64. if '%shy%'=='q' goto bd
  65. if '%shy%'=='gx' start "" "%cd%\共享的文件"&goto sh
  66. if '%shy%'=='fs' goto gx
  67. echo %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒  %jrw% >> .\bbsdata\sybbs.txt
  68. echo %shy% >> .\bbsdata\sybbs.txt
  69. echo. >> .\bbsdata\sybbs.txt
  70. goto sh
  71. :bd
  72. if '%mz%'=='1' goto _m1
  73. if '%mz%'=='2' goto gly
  74. :_m2
  75. set jrw=局域网聊天管理员
  76. title 局域网聊天 V2.0 by:Dr.ma 登录员:%jrw%
  77. cls
  78. mode con: cols=65 lines=2
  79. cls
  80. set glm=
  81. set /p glm=  你刚输入的是管理员账号,请输入密码后回车:
  82. if '%glm%'=='2000728' goto gly
  83. echo   密码错误,请重新输入。
  84. goto _m2
  85. :gly
  86. mode con: cols=65 lines=14
  87. set mz=2
  88. title 局域网聊天 V2.0 by:Dr.ma 登录员:%jrw%
  89. cls
  90. echo                      欢迎你局域网聊天管理员
  91. echo  ╭═════════════════════════════╮
  92. echo  ║                        1、进入聊天                       ║
  93. echo  ║                      2、修改聊天记录                     ║
  94. echo  ║                      3、删除聊天记录                     ║
  95. echo  ║                   4、恢复、备份聊天记录                  ║
  96. echo  ║                         5、注销                          ║
  97. echo  ║                    Esc、退出局域网聊天                   ║
  98. echo  ╰═════════════════════════════╯
  99. set chi=
  100. set /p chi=  请选择操作后回车:
  101. if '%chi%'=='' goto gly
  102. if /i '%chi%'=='1' goto uu
  103. if /i '%chi%'=='2' start .\bbsdata\sybbs.txt&goto gly
  104. if /i '%chi%'=='3' goto scb
  105. if /i '%chi%'=='4' goto hbb
  106. if /i '%chi%'=='5' goto _max
  107. if /i '%chi%'=='Esc' exit
  108. goto gly
  109. :gx2
  110. set xlw=
  111. set /p xlw=  请将要共享的文件(夹)拖到这里:
  112. if '%xlw%'=='' goto gx2
  113. copy %xlw% .\共享的文件\
  114. echo %date% %time:~0,2%点%time:~3,2%分%time:~6,2%秒  %jrw% >> .\bbsdata\sybbs.txt
  115. echo %jrw%发送了共享文件 >> .\bbsdata\sybbs.txt
  116. echo. >> .\bbsdata\sybbs.txt
  117. goto sh2
  118. :scb
  119. set byn=
  120. set /p byn=  确定删除聊天的所有记录吗(Y/N):
  121. if '%byn%'=='' goto scb
  122. if /i '%byn%'=='y' echo.>.\bbsdata\sybbs.txt&goto gly
  123. if /i '%byn%'=='n' goto gly
  124. goto scb
  125. :hbb
  126. cls
  127. echo                       恢复、备份聊天记录
  128. echo  ╭═════════════════════════════╮
  129. echo  ║                     1、恢复聊天记录                      ║
  130. echo  ║                      2、备份聊天记录                     ║
  131. echo  ║                    Esc、返回局域网聊天                   ║
  132. echo  ╰═════════════════════════════╯
  133. set hbb=
  134. set /p hbb=  请选择操作后回车:
  135. if '%hbb%'=='' goto hbb
  136. if /i '%hbb%'=='1' copy %windir%\system32\sybbs.txt .\bbsdata\
  137. if /i '%hbb%'=='2' copy .\bbsdata\sybbs.txt %windir%\system32\
  138. if /i '%hbb%'=='Esc' goto gly
  139. goto hbb
复制代码
这个比较简单,只能有一个聊天室

TOP

本机上测试能通过(),不过暂时没有网络环境来测试。
这么多可能还会有错误,直接发附件好些。
(像sleep.exe生成不了,直接发附件就不会有问题了)

TOP

回复 5楼 的帖子

谢谢5楼提醒
已更改

TOP

报告楼主,有排版错误。
如下:
st.cmd代码[quote]md %server%\rooms[\code]
userlist.cmd代码
[code]@echo off
[/quote]

TOP

没有测试环境~但依然顶了!~
心绪平和,眼藏静谧。

TOP

回复 2楼 的帖子

Sleep可以实现延时功能,sleep 5000表示延时5秒钟

TOP

能讲下那个com程序吗?~^_^
心绪平和,眼藏静谧。

TOP

返回列表