Я старый опытный пользователь Windows с давних времен. Мой основной компьютер — это Windows 7 Pro. Мы купили новый ПК для нового офиса; на нем, конечно же, установлена Windows 10 (Home). Я выполнял некоторую работу на новом ПК и хотел отправить результат того, что я делал — IPv6-адрес принтера — обратно на ПК с Win 7. Я хотел использовать, NET SEND
но это недоступно в Win 10 (или Win 7, как оказалось).
Исследование показало, что MSG
команда должна (вроде как) делать то, что NET SEND
делала в старые времена. Пример веб-сайта показал окно командной строки с текущим каталогом C:\WINDOWS\SYSTEM32 и показал результат MSG /?
указания синтаксиса команды — как раз то, что мне было нужно.
Но запуск MSG /?
на компьютере с Win 10 выдал сообщение о том, что MSG не распознан как команда. (Это работает на Win 7, при этом MSG.EXE находится в SYSTEM32.) Немного покопавшись, я обнаружил MSG.EXE
в каталоге под WinSxS —
C:\Windows\WinSxS\amd64_microsoft-windows-t..commandlinetoolsmqq_31bf3856ad364e35_10.0.17134.1_none_0ea9fdb9152f846c
но он не работает правильно даже с этим текущим каталогом. Что-то должно его установить, похоже -- хотя в онлайн-образце, который я нашел, ничего такого не было.
Я проверил «Программы» (раньше назывались «Программы и компоненты») и не увидел ничего, что можно было бы установить.
Что происходит? Как мне сделать это пригодным для использования? Какие еще команды должны иметь такую же магию, чтобы они работали из обычной командной строки?
Спасибо за любую помощь.
решение1
Вы, по-видимому, используете на всех компьютерах версию Home. Эта версия не включает команду MSG. Команда доступна только в версиях Windows, начиная с Pro.
Кстати, протестировано на Windows Enterprise: даже старая команда «net send» все еще существует в этой версии.
По всем данным, попытка пересадки msg.exe
с более поздних версий Windows на Home не работает, поэтому простого решения нет.
Однако вы можете написать свой собственный.
Используя бесплатный psexec Вы можете выполнить код на удаленных компьютерах, который создает всплывающее сообщение.
Смотреть пост Показать всплывающее окно/окно сообщения из пакетного файла Windows для нескольких идей.
Самые классные из тех, что я нашел:
mshta.exe
, механизм выполнения для.hta
приложений Windows HTML, принимает общий 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 Pro или Enterprise.
Ее основное предназначение — уведомлять пользователей на терминальном сервере или в подобных местах. Она требует определенных прав, обычно доступных только администраторам (обычному пользователю может быть предоставлено право использовать ее), то есть ее основное предназначение — использовать ее администраторами 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. Если этот метод не работает, вы можете использовать другие инструменты удаленного управления, такие какTeamviewerTeamviewer имеет возможность использовать только локальные соединения, что означает, что для его использования в локальной сети не требуется подключение к Интернету.
решение3
Запуск MSG /?
на компьютере с Win 10 выдал сообщение, что MSG
команда не распознана.
Мы купили новый ПК для нового офиса. На нем, конечно же, установлена Windows 10 (Home).
Домашние версии Windows не включаютmsg
ИсточникMsg - Windows CMD - SS64.com
Какие еще команды требуют такого же волшебства, чтобы они работали из обычной командной строки?
Этот вопрос «слишком широк».
решение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
Ссылаться наэтототвечать