我是一位经验丰富的 Windows 用户。我的主要计算机是 Windows 7 Pro 机箱。我们为新办公室买了一台新电脑;它当然装有 Windows 10(家庭版)。我在新电脑上做了一些工作,想将我所做的工作的结果(打印机的 IPv6 地址)发送回 Win 7 PC。我想使用NET SEND
它,但 Win 10(或 Win 7)上不可用。
研究发现,该MSG
命令应该(某种程度上)执行NET SEND
过去所做的操作。一个网站示例显示了一个命令提示符窗口,当前目录为 C:\WINDOWS\SYSTEM32,并显示了MSG /?
给出命令语法的结果——这正是我想要的。
但在 Win 10 机器上运行显示 MSG 未被识别为命令。(它在 Win 7 上运行,MSG.EXE 位于 SYSTEM32 中。)在 WinSxS 下的目录中MSG /?
发现了一些挖掘结果——MSG.EXE
C:\Windows\WinSxS\amd64_microsoft-windows-t..commandlinetoolsmqq_31bf3856ad364e35_10.0.17134.1_none_0ea9fdb9152f846c
但即使将其设置为当前目录,它也无法正确运行。似乎需要安装一些东西——尽管在我找到的在线示例中没有关于执行此类操作的任何信息。
我检查了“程序”(以前的“程序和功能”)并没有看到我可以安装的东西。
发生了什么事?我该如何让它可用?其他哪些命令需要同样的魔法才能在正常的命令提示符下工作?
谢谢您的帮助。
答案1
您显然在所有计算机上都使用了家庭版。此版本不包含 MSG 命令。该命令仅在 Pro 及以上版本的 Windows 中可用。
附言一下,在 Windows Enterprise 上测试后,即使是旧的“net send”命令在该版本中仍然存在。
据报道,尝试msg.exe
从更高版本的 Windows 移植到家庭版是行不通的,因此没有简单的解决方法。
不过你可以编写自己的。
使用免费 执行 您可以在远程计算机上执行创建弹出消息的代码。
查看帖子 显示 Windows 批处理文件中的弹出窗口/消息框 一些想法。
我发现最漂亮的是:
mshta.exe
是 Windows HTML 应用程序的运行时引擎.hta
,接受通用 URL 作为命令行参数,包括javascript:
协议 URL。因此,您可以这样发出超时时间为 10 秒的警报:mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()"
使用 VBScript 文件并使用 CScript 调用它,文件中的内容如下
.vbs
:Set objArgs = WScript.Arguments messageText = objArgs(0) MsgBox messageText
答案2
MSG 程序仅在 Windows 的专业版或企业版上可用。
它的主要目的是通知终端服务器或类似服务器上的用户。它需要某些通常只有管理员才拥有的权限(普通用户可以被授予使用它的权限),这意味着它的主要目的是供 Windows 管理员使用,以通知用户有关关机、问题等信息。WinSxS
内的子文件夹来自 Windows 更新。Microsoft 将此文件夹称为“组件存储”,有关它的更多信息可在本文中找到:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/manage-the-component-store
我能够在系统上找到包含 msg.exe 的同一文件夹。查看它,它似乎根本不是一个有效的 .exe 文件,在十六进制编辑器中查看时它以“DCS”开头,但如果它是可执行文件,则应该以“MZ”开头。我找不到有关此“DCS”标头的任何文档。
如果两台计算机都可以访问互联网,替代方案就是简单地发送一封邮件并在您的网络邮件客户端中打开它。Windows 7 和 10 还都带有向其他人提供帮助的功能,可以通过启动 msra.exe 来打开它。如果该方法不起作用,您可以使用其他远程管理工具,例如Teamviewer。Teamviewer 有一个使用仅 LAN 连接的选项,这意味着在本地 LAN 上使用它不需要互联网。
答案3
在 Win 10 框上运行MSG /?
说它MSG
不被识别为命令
我们为新办公室购买了一台新电脑;上面当然装有 Windows 10(家庭版)。
Windows 家庭版不包括msg
哪些其他命令需要具有相同的魔力才能在正常命令提示符下运行?
这个问题“太宽泛了”。
答案4
这不是我最初的想法..但这是我使用 vbs 的方式但实际上并非如此..(文件被自动删除)
echo x=msgbox("Hey! Here is a message!" ,4096, "Hey! Here is a title!") > %tmp%\tmp.vbs && cscript //nologo %tmp%\tmp.vbs & del %tmp%\tmp.vbs
參閱这回答