Answers:
msg
像这样使用Window的内置命令怎么样?
msg * "Message you would like to send"
您可以添加其他参数,例如/TIME:x
其中x是希望消息显示的秒数。当然,msg /?
将向您显示所有可用选项。
这意味着Windows XP和更高版本是您要显示消息的系统。如果您拥有适用操作系统的家庭版,那么您将不走运。有关可用参数,请参见http://ss64.com/nt/msg.html。
如果您拥有家庭版,则以下批处理脚本将使用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上。我想知道为什么我的脚本测试正常,但是当我放入Task Scheduler时却没有收到任何消息。可耻的插件: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 [超时]
这将生成具有给定文本的控制台窗口,该窗口将显示在当前窗口的顶部,但不会自动占据焦点(您可以照常与当前窗口进行交互)。
这是我找到的最佳解决方案,希望对您有所帮助!
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始终位于所有其他窗口的中央和顶部。
如果只想安排一个消息框,则可以简单地使用任务计划程序,它具有一个内置功能来安排消息。请参阅任务计划程序中[启动程序]的位置。
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
啊 如果尝试从“运行”框或命令提示符下运行它,我什么也没得到。