Windows 10 MSG command thestery

command linewindowswindows 7

I'm an old-timer experienced Windows user from way back. My main computer is a Windows 7 Pro box. We bought a new PC for a new office; it of course has Windows 10 (Home) on it. I was doing some work on the new PC and wanted to send the result of what I was doing — the IPv6 address of a printer — back to the Win 7 PC. I wanted to use NET SEND but that isn't available on Win 10 (or Win 7 as it turns out).

Research found that the MSG command is supposed to (sort of) do what NET SEND did in the old days. A web site sample showed a command prompt window with the current directory being C:\WINDOWS\SYSTEM32 and showed the result of MSG /? giving the syntax of the command — just what I wanted.

But running MSG /? on the Win 10 box said that MSG was not recognized as a command. (It works on Win 7, with MSG.EXE being in SYSTEM32.) A bit of digging found MSG.EXE in a directory under WinSxS —

C:\Windows\WinSxS\amd64_microsoft-windows-t..commandlinetoolsmqq_31bf3856ad364e35_10.0.17134.1_none_0ea9fdb9152f846c

but it doesn't run right even with that set as the current directory. Something needs to install it, it seems — tho there was nothing about doing anything like that in the online sample that I had found.

I checked "Programs" (what used to be "Programs and Features") and did not see it as something I could install.

What's going on? How do I make this usable? What other commads need to have the same kind of magic done so that they work from a normal command prompt?

Thanks for any assistance.

Best Answer

You are apparently using on all computers the Home version. This version does not include the MSG command. The command is only available in Windows versions starting from Pro.

As a side-remark, tested on Windows Enterprise, even the old "net send" command still exists in that version.

By all reports, trying to transplant msg.exe from higher Windows versions to Home does not work, so there is no easy workaround.

You can however write your own.

By using the free psexec you can execute code on remote computers that creates a pop-up message.

See the post Show a popup/message box from a Windows batch file for a few ideas.

The niftiest ones I found were:

  • mshta.exe, the runtime engine for Windows .hta HTML applications, accepts a general URL as command line argument, including a javascript: protocol URL. So you could issue an alert with a timeout of 10 seconds this way:

    mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Message!', 10, 'Title!', 64 );close()"
    
  • Using a VBScript file and call it using CScript, with something like the following in a .vbs file:

    Set objArgs = WScript.Arguments
    messageText = objArgs(0)
    MsgBox messageText