我正在為各種目的製作批次腳本,並希望在命令完成後,顯示一個訊息對話框來聲明結果。
例如,如果我讓腳本刪除特定對象,我希望它顯示使用者定義的對話框。我更願意使用這種格式作為視窗標題和文字值:
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