bat脚本弹出消息示例(msg命令详细解释)

时间:2024-02-24 08:01:33

弹出消息的bat,其实就是通过批处理调用msg命令,msg是系统自在的一个可以发送信息的命令。

示例:

@echo off

rem 测试MSG
msg * "ok" 

rem 测试MSG,10秒后自动关闭
msg %username% /time:10 终于等到你 弹出对话框演示,修改这里的文字即可。

rem 测试带换行的MSG
(echo 终于等到你
echo 5秒后自动关闭)|msg %username% /time:5

rem 测试MSG,显示响应信息的
(echo 检测到办公软件不是合规版本
echo 我们将在今晚21:00执行更新!届时请提前保存并关闭您的文档。
)|msg %username% /V /W

pause

 

msg.exe命令是将消息发送给用户。

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 读取。

 

微软的解释:
在终端服务器会话 ID 0 Msg.exe 工具不处理

注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号 : 302799
最后修改 : 2002年8月6日
修订 : 1.0
症状
对列表用户和您要使用 Msg.exe 命令行工具用于将邮件发送到用户, 会话进行列表文件时不消息可能被发送到控制台会话, 并且可能会收到一个会话 ID 零 (0)。 如果它被发送到是登录到控制台用户但是, 消息可能到达控制台。

原因
因为该过程需要管理员特权才能向控制台发送 massage 发生此现象。

状态
此行为是设计使然。

更多信息
列表文件与本文 " 症状 " 部分中描述可以是具有列表的用户和会话文本文件 (管理员, 0, user 1, 2, user15, 4, 等等)。 文件然后使用时调用 msg @file name 命令, 其中 文件名 是文本文件所做的名称。 有关更多信息有关该 Msg.exe 工具, 用于在 Windows XP 帮助 MSG 搜索。