Windows 10(64位)的.bat文件中的“ msg”命令的替代方法

时间:2018-11-28 07:40:27

标签: batch-file windows-10 64-bit

我写了一个小的计时器脚本作为.bat文件,它每30分钟(1800秒)在弹出的消息框中提醒我(16次)“ Move!”。该脚本在Windows 7(32位)系统上运行良好,但似乎“ msg”命令无法使用或对于64位系统不存在。除了此命令以外,还有什么替代方法可以轻松替换该命令?

set TIMER=(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
set USERS=(%username%)
set MESSAGE=Move!

for %%i in %TIMER% do call :doit

:doit

for %%i in %USERS% do msg %%i %MESSAGE% 

timeout /t 1800 /nobreak
goto:eof

1 个答案:

答案 0 :(得分:1)

您可以创建一个临时的VBS脚本,运行它然后删除它。

See Example MessageBox

程序底部包括:

exit /b
:msg
set tempPath=%temp%\msgbox.vbs
echo msgbox "%message%" > %tempPath% && %tempPath% && del %tempPath%
goto:eof

然后您可以像这样通过脚本使用它:

set message=Hello World
call:msg

所以在您的情况下:

set TIMER=(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16)
set USERS=(%username%)
set MESSAGE=Move!

for %%i in %TIMER% do call :doit

:doit

set message=%MESSAGE%
call:msg

timeout /t 1800 /nobreak
goto:eof


exit /b
:msg
set tempPath=%temp%\msgbox.vbs
echo msgbox "%message%" > %tempPath% && %tempPath% && del %tempPath%
goto:eof