我正在为各种目的制作批处理脚本,并希望使得命令完成后显示一个消息对话框来声明结果。
例如,如果我编写一个脚本删除特定对象,我希望它显示一个用户定义的对话框。我更喜欢使用这种格式作为窗口标题和文本值:
x=msgbox("%MESSAGE%" ,0, "%TITLE%")
我怎样才能将此(以上)添加到我的脚本中以进行显示后(以下)任务完成了吗?
rmdir "%TARGETPATH%
答案1
您可以使用命令重定向或在第一个命令完成后执行后续命令。您可以将其设置为在第一个命令成功后执行后续命令,或者在第一个命令执行后直接执行后续命令,而不管第一个命令的结果如何&&
。&
诀窍是让批处理脚本将 VB信息框函数及其使用的适用值放入临时脚本中,该脚本稍后将通过脚本。
这一切都应该开箱即用,无需安装任何第三方工具,因此视窗本国的。
批处理脚本
笔记: 您将需要使用而不是您已有的语法SET x=msgbox "%TITLE%",0,"%MESSAGE%"
才能使其工作,但这只是一个小小的调整。
@ECHO ON
:Routine1
SET TARGETPATH=C:\Path\Folder
SET COMMAND=rmdir "%TARGETPATH%
SET TITLE=This is my message title
SET MESSAGE=This is my message body
SET tmpmsgbox=%temp%\~tmpmsgbox.vbs
SET x=msgbox "%MESSAGE%",0,"%TITLE%"
ECHO %x%>"%tmpmsgbox%"
%COMMAND% && WSCRIPT "%tmpmsgbox%"
EXIT
commandA & commandB Run commandA and then run commandB commandA && commandB Run commandA, if it succeeds then run commandB