msg

メッセージを送信できます。

構文

MSG {ユーザー名 | セッション名 | セッション ID | @ファイル名 | *}
    [/SERVER:サーバー名] [/TIME:秒] [/V] [/W] [メッセージ]

オプション

オプション 機能
   
ユーザー名          送信先のユーザー名を指定します。
セッション名        セッション名を指定します。
セッションID        セッション ID を指定します。
@ファイル名         メッセージの送信先一覧のファイル (ユーザー名、
                    セッション名、セッション ID) を指定します。
*                   指定されたサーバーのすべてのセッションにメッセージを
                    送信します。
/SERVER:サーバー名  送信先のサーバーを指定します (既定値は現在のサーバー)。
/TIME:秒            受信者の確認応答までの待ち時間を指定します。
/V                  実行中に詳細情報を表示します。
/W                  ユーザーからの応答を待ちます。通常 /V オプションと共に
                    指定します。
メッセージ          送信するメッセージを指定します。指定しない場合は、入力
                    プロンプトが表示されるか、または stdin から読み取ります。
msg /?

利用例

ログオンしているすべてのユーザーに、メッセージを送る。

msg * TEST

現在のユーザーに、メッセージを送る。

msg %username% TEST

トラブル対処法

msgコマンドが認識されない

64ビット環境で32ビット版のコマンドプロンプトを利用していると、

'msg' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

として、msgコマンドを実行できないことがあります。その場合には、

%windir%\Sysnative\msg

として、リダイレクトされずに%windir%\System32へアクセスされるようにします。windows - I cannot use the msg command in cmd (or batch for that matter). How can I fix this? - Stack Overflow

ただしこのエイリアスは64ビット版のコマンドプロンプトでは無効なため、汎用的には実行プロセスに応じて処理を分岐します。WOW64 実装の詳細 (Windows) | MSDN

if "%PROCESSOR_ARCHITECTURE%"=="x86" (%windir%\Sysnative\msg * TEST) ELSE msg * TEST

アクセスが拒否される

エラー [5]:アクセスが拒否されました。」と出力されるのは、そのセッションへのアクセス権がないためです。