답변:
Window의 내장 msg
명령을 사용하는 것은 어떻습니까?
msg * "Message you would like to send"
/TIME:x
여기서 x는 메시지를 표시 할 시간 (초) 과 같은 다른 매개 변수를 추가 할 수 있습니다 . 물론 msg /?
사용 가능한 모든 옵션이 표시됩니다.
이것은 메시지를 표시하려는 시스템으로서 Windows XP 이상을 의미합니다. 해당 OS의 Home Edition이 있으면 운이 좋지 않습니다. 사용 가능한 매개 변수는 http://ss64.com/nt/msg.html 을 참조 하십시오 .
Home Edition이있는 경우 다음 배치 스크립트는 VBSCript의 PopUp 방법을 사용하여 메시지를 팝업합니다.
@echo off
::See http://msdn.microsoft.com/en-us/library/x83z1d9f(v=vs.84).aspx
::for an explanation of the PopUp method
::
::Use the directory from whence script was called as working directory
set CWD=%~dp0
::Use a random file name for the temporary VBScript.
set usrmsg=%CWD%%random%.vbs
::First parameter is the timeout in seconds. 0 = wait forever
set _timeout=%~1
::Second parameter is the message, enclosed in quotes.
set _Message=%~2
::Third parameter is the title of the window, enclosed in quotes.
set _Title=%~3
::This last variable is used to display a button/icon on the window.
::Setting this to 4096 sets the window to Modal (on top of everything else)
set _nType=4160
::Create the temp script using the provided information.
ECHO Set wshShell = CreateObject( "WScript.Shell" )>%usrmsg%
ECHO wshShell.Popup "%_Message%" ^& vbCrLf, %_Timeout%, "%_Title%", %_nType%>>%usrmsg%
::Run the script.
WSCRIPT.EXE %usrmsg%
::Delete the script.
DEL %usrmsg%
::Exit the batch file
exit /b
도움이 되었기를 바랍니다!
추가 : Gregg는 Windows 10에서이 기능을 사용하려면 메시지가 60 초 이상 화면에 표시되도록하려면 "/ time : 0"을 사용해야한다는 의견을 언급했습니다.
/TIME:0
. 이것은 Win10 x64 v1607 Enterprise LTSB에 있습니다. 스크립트가 제대로 테스트 된 이유가 궁금하지만 작업 스케줄러에 넣을 때 메시지가 표시되지 않습니다. 부끄러운 플러그 : serverfault.com/a/931932/131761
https://www.howtogeek.com/136894/how-to-create-popup-reminders-with-no-additional-software/ 도 참조 하십시오 . 링크 사망의 경우 여기에 요약하겠습니다.
/ C TITLE [제목은 여기에 있음] & ECHO. & ECHO. & ECHO [여기에 메시지는 여기 있음] & ECHO. & ECHO. & TIMEOUT [timeout]
주어진 텍스트가있는 콘솔 창이 생성되어 현재 창의 맨 위에 표시되지만 포커스를 자동으로 훔치지는 않습니다 (평소와 같이 현재 창과 계속 상호 작용할 수 있음).
이것이 내가 찾은 최고의 솔루션이었습니다. 누군가에게 도움이되기를 바랍니다!
msgbox
VBS에서 사용하십시오 . 이처럼 :
Set filesys = CreateObject("Scripting.FileSystemObject")
Set shell = CreateObject("Shell.Application")
Set wshShell = WScript.CreateObject( "WScript.Shell" )
PCName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
msgbox "Dear user on " & PCName & vbcrlf & " " & vbcrlf & "This is a message box on top of all other windows.", &h51000, "I am msgbox"
shell.Open "C:\Users"
코드 &h51000
는 항상 msgbox를 중앙 및 다른 모든 창 위에 배치합니다.
msgbox 만 스케줄하려면 태스크 스케줄러를 사용하면됩니다. 메시지 스케줄 기능이 내장되어 있습니다. 작업 스케줄러에서 [프로그램 시작] 위치를 참조하십시오.
Display a Message
더 이상 사용되지 않으며 msg
Windows 10 1703에서 명령이 작동하지 않습니다 powershell
. 예약 된 작업에서 메시지 상자를 표시하는 데 사용 하고 있습니다. 작업을 정의 할 때 이를 인수 로 사용하십시오 .
-WindowStyle hidden -Command "& {[System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms'); [System.Windows.Forms.MessageBox]::Show('<message body here>','<window title here>')}"
못생긴 AF이지만 작동합니다.
powershell
솔루션을 사용하면 메시지 상자가 나타납니다. msg
내 의견에서 언급했듯이 솔루션을 사용할 때 아무 일도 일어나지 않습니다.
powershell -WindowStyle hidden -File "<path to script>"
작동하지 않으며 -Command
인수 로만 작동합니다 . powershell -WindowStyle hidden -Command "& '<path to script>'"
msg
? 실행 상자 또는 명령 프롬프트에서 실행하려고하면 아무것도 얻지 못합니다.