dos下MSG命令使用详解

最近在编写FTP上传数据的批处理时,需要用到局域网内传输数据来提示错误,突然想起忘了N久没用的命令(net send),  结果在win7 下cmd运行net send /? 运行失败。经过百度大神的搜索,原来从vista之后net send 命令被微软取消了,再次百度,WIN 7局域网内发送消息可以使用MSG 命令。在坛子里找了好久也没找着真正的使用方法,就自己百度,google 终于搞定了,发出来让大家看下。。。。。

MSG 系统自带使用帮助

C:\Windows\system32>MSG

将消息发送给用户。

MSG {username | sessionname | sessionid | @filename | *}
    [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message]

username            标识指定的用户名。
  sessionname         会话名。
  sessionid           会话 ID。
  @filename           识别这样一个文件,该文件含有将所发消息发送到的用户名、会话名和会话标识号的列表。
  *                   给指定服务器上的所有会话发送信息。
  /SERVER:servername  要联系的服务器(默认值是当前值)。
  /TIME:seconds       等待接收器确认消息的时间延迟。
  /V                  显示有关执行的操作的信息。
  /W                  等待用户的响应,跟 /V 一起有用。
  message             要发送的消息。如果没有指定,发出提示,或者从 stdin读取。

以下代码均在开始---执行------CMD内测试。

测试条件:本机IP:192.168.1.200     测试电脑IP:192.168.1.201    在同一局域网内,并且可以ping通。

1.根据以上MSG使用方法进行本机调试验证。  MSG /server:192.168.1.200 * "Hello"      ----------------->>>>>    运行成功,弹出消息对话框。

2.然后再进行局域网内两台电脑通信验证。  MSG /server:192.168.1.201 * "Hello"    ---------->>>>>  运行失败,报错。获取会话名称时的错误 1722。

3.再次百度,在CSDN的一个帖子上有一个办法,CMD内regedit修改注册表HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\TERMIMAL SERVER内的ALLOWREMOTERPC的值修改为1 (默认为0),因为在XP系统下net send 命令需要开启Messenger信使服务,但是在win7内没有此项服务,所以需要修改注册表来使win7系统可以局域网内发送信息,可XP类似。

4.此时验证还是失败,把测试电脑和本机的防火墙全部关闭,把测试电脑的注册表同上也修改OK, 再次验证     MSG /server:192.168.1.201 * "Hello"运行失败,报错   192.168.1.201不存在或连接失败。。。最后找来找去,用GOOGLE 搜索发现了最终的答案 。。打开控制面板,双击凭据管理器,点击添加windows凭据,第一行写测试电脑的IP地址,第二行写测试电脑的用户名,第三行写测试电脑的密码,重启电脑,运行--cmd-------MSG /server:192.168.1.201 * "Hello" ------------->>>   运行成功。。。
Google 搜索的最终答案(英文的,有点英文基础可以看懂的) 链接:http://social.technet.microsoft.com/Forums/windows/en-US/344aa708-5477-46f9-be4f-ad8b3b2348b0/sending-a-message-to-win-7-host-with-msgexe?forum=w7itprogeneral

1 go to credential manager
2 click add a windows credential
3 type the name of the computer, username and password of the computer that you are trying to contact
4 computers that you are trying to contact most be in the same network as you.
good luck it took me months to get it properly working

在以上的学习过程中,发现也可以,cmd 内输入\\192.168.0.201 然后回车,弹出对话框输入帐号和密码,
下面有一个勾选项,为记录帐号和密码,勾选此项,凭据管理器内自动添加对应的windows凭据。

下面是其他网友的补充

向用户发送消息。信息会以提示框弹出

MS-DOS命令语法

msg {UserName|SessionName|SessionID|@FileName|*} [/server:ServerName] [/time:seconds] [/v] [/w] [message]

MS-DOS命令参数
UserName
要接收消息的用户的名称。
SessionName
要接收消息的会话的名称。
SessionID
其用户要接收消息的会话的数字 ID。
@FileName
标识包含有待接收消息的用户名、会话名和会话 ID 列表的文件。
*
将消息发送给系统中的所有用户。
/server:ServerName
指定要接收消息的会话或用户所属的终端服务器。如果不指定,/server 会使用您当前登录的服务器。
/time:seconds
指定您发送的消息在用户屏幕上显示的时间。一旦到期,则该消息从屏幕上消失。如果没有设置期限,则该消息将一直保留在用户屏幕上,直到用户看见这条消息并单击“确定”。
/v
显示关于要执行的操作的信息。
(即输出类似于
"将消息发送到会话 Console,显示时间 60"
"发送到会话 Console 的消息收到用户响应"
等信息, 表示操作过程和结果的信息给输出来)
/w
等待来自用户的、指出该消息已收到的确认信息。如果用户不立即响应,则使用 /time:seconds 参数避免可能出现的长时间延迟。将此参数与 /v 一同使用也很有帮助。
message
待发送消息的正文。如果没有键入任何消息,则系统将提示您输入消息或从标准输入 (STDIN)中读取该消息。要发送包含在文件中的消息,请键入小于号 (<) 后接文件名称。
/?
在命令提示符显示帮助。
MS-DOS命令注释
如果不指定该用户或会话的名称,则 msg 将显示错误消息。指定会话的名称时,必须是有效名称。
用户必须有发送消息的权限才能发送消息。

MS-DOS命令范例

要向用户 MIKES 的所有会话发送标题为 Let's meet at 1PM today 的消息,请键入:

msg MIKES Let's meet at 1PM today

要向会话 MODEM02 发送相同的消息,请键入:

msg modem02 Let's meet at 1PM today

要向会话 12 发送消息,请键入:

msg 12 Let's meet at 1PM today

要向包含在文件 USERLIST中的所有会话发送消息,请键入:

msg @userlist Let's meet at 1PM today

要向已登录的所有用户发送消息,请键入:

msg * Let's meet at 1PM today

要在确认超时(例如 10 秒)限制内向所有用户发送消息,请键入:

msg * /TIME:10 Let's meet at 1PM today

(0)

相关推荐

  • dos下MSG命令使用详解

    最近在编写FTP上传数据的批处理时,需要用到局域网内传输数据来提示错误,突然想起忘了N久没用的命令(net send),  结果在win7 下cmd运行net send /? 运行失败.经过百度大神的搜索,原来从vista之后net send 命令被微软取消了,再次百度,WIN 7局域网内发送消息可以使用MSG 命令.在坛子里找了好久也没找着真正的使用方法,就自己百度,google 终于搞定了,发出来让大家看下..... MSG 系统自带使用帮助 C:\Windows\system32>MSG

  • Linux系统下gcc命令使用详解

    目录 一.预处理 二. 编译 三.汇编 四.链接 1.gcc的安装(以Ubuntu为例) sudo apt-get install build-essential 安装完后可以通过 gcc --version 查看版本. 让我们在通过gcc编译可执行文件的过程中掌握其基础应用. 准备: 先在当前目录下 使用vim新建一个.c文件 例如 666.c $ vim 666.c (vim的使用可在我的另一篇博客有详细的叙述,这里不多在赘述) 插入一段代码. #include <stdio.h> mai

  • MSG命令使用详解

    最近在编写FTP上传数据的批处理时,需要用到局域网内传输数据来提示错误,突然想起忘了N久没用的命令(net send),  结果在win7 下cmd运行net send /? 运行失败.经过百度大神的搜索,原来从vista之后net send 命令被微软取消了,再次百度,WIN 7局域网内发送消息可以使用MSG 命令.在坛子里找了好久也没找着真正的使用方法,就自己百度,google 终于搞定了,发出来让大家看下..... MSG 系统自带使用帮助 C:\Windows\system32>MSG

  • Linux 下rpm命令参数详解

    一.安装 命令格式: rpm -i ( or --install) options file1.rpm ... fileN.rpm 参数: file1.rpm ... fileN.rpm 将要安装的RPM包的文件名 详细选项: -h (or --hash) 安装时输出hash记号 (``#'')  --test 只对安装进行测试,并不实际安装.  --percent 以百分比的形式输出安装的进度.  --excludedocs 不安装软件包中的文档文件  --includedocs 安装文档 

  • linux下source命令使用详解

    Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile 对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下. source命令: source命令也称为"点命令",也就是一个点符号(.),是bash的内部命令. 功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句 source命令通常用于重新执行刚修改

  • linux下防火墙开启某个端口号及防火墙常用命令使用(详解)

    1.永久性生效,重启后不会复原 开启:chkconfigiptables on 关闭:chkconfigiptables off 2.即时生效,重启后复原 重启防火墙 方式一:/etc/init.d/iptables restart 方式二:service iptables restart 关闭防火墙: 方式一:/etc/init.d/iptables stop 方式二:service iptables stop 启动防火墙 方式一:/etc/init.d/iptables start 方式二:

  • Linux下的fdisk命令用法详解

    Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法: 对于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/dev/hdb,/dev/hdc,/dev/hdd等, 如果还有IDE Raid卡,则依次为:/dev/hde,/dev/hdf,/dev/hdg,/dev/hdh.对于SCSI硬盘,则设备名依次为/dev/sda,/dev/sdb...等等 fdisk的命令行用法为: fdisk 硬盘设备名 进入fd

  • linux下scp和sftp命令使用详解

    目录 前言 1. scp 使用 2. sftp 使用 3. scp 和 sftp 有啥区别?用哪个好? 总结 前言 scp 和 sftp 是一种远程文件加密传输协议,讲通俗点就是用来操控本地/远程文件,不知道你注意到了没有,它们开头都带了 s,是的,它们嵌套了一层 ssh 加密协议. 像 sftp 它的传统版本就是 ftp,但这种协议不安全,传输数据是都是明文的,很容易受到攻击窃取,所以才有了后来的 sftp,其实就跟 http / https 同个道理. 如果你还没了解过 ssh 可以参考我之

  • bat批处理 if 命令示例详解

    if 命令示例详解 if,正如它E文中的意思,就是"如果"的意思,用来进行条件判断.翻译过来的意思就是:如果符合某一条件,便执行后面的命令. 主要用来判断,1.两个"字符串"是否相等:2.两个数值是大于.小于.等于,然后执行相应的命令. 当然还有特殊用法,如结合errorlevel:if errorlevel 1 echo error 或者结合defined(定义的意思):if defined test (echo It is defined) else echo 

  • 对IPython交互模式下的退出方法详解

    如果进入了shell交互窗口,python的退出方式只能够用函数不能够用命令,这有时候让人感觉到很不习惯.因为函数会比命令多一个括号的输入,这让人有点反感.而Linux的终端.DOS CMD窗口.MATLAB等各种使用基本上都是一个exit退出命令即可.相比之下,Python的这种方式确实是让我觉得有点不舒服. 尽管有着使用上的不便利,但是使用时间长了还是能够养成使用Python的时候加个括号实现相应的退出.换了IPython之后,感觉又有一种回到Linux终端的感觉,刚刚试了一下,居然也支持命

随机推荐