Nach einem Befehl mit einem Batch-Skript einen Meldungsdialog anzeigen?

Nach einem Befehl mit einem Batch-Skript einen Meldungsdialog anzeigen?

Ich erstelle Batch-Skripte für verschiedene Zwecke und möchte es so einrichten, dass nach Abschluss eines Befehls ein Meldungsdialogfeld angezeigt wird, in dem die Ergebnisse bekannt gegeben werden.

Wenn ich beispielsweise ein Skript ein bestimmtes Objekt löschen lasse, möchte ich, dass ein benutzerdefinierter Dialog angezeigt wird. Ich würde dieses Format für den Fenstertitel und die Textwerte bevorzugen:

x=msgbox("%MESSAGE%" ,0, "%TITLE%")

Wie kann ich dies (oben) zu meinem Skript hinzufügen, damit es angezeigt wirdnachdie Aufgabe (unten) ist abgeschlossen?

rmdir "%TARGETPATH%

Antwort1

Sie können den BefehlUmleitungmit &&oder , &um einen nachfolgenden Befehl auszuführen, nachdem der erste Befehl abgeschlossen ist. Sie können festlegen, dass der nachfolgende Befehl ausgeführt wird, nachdem der erste Befehl erfolgreich war, oder direkt nach der Ausführung des ersten Befehls, unabhängig vom Ergebnis des ersten Befehls.

Der Trick besteht darin, das Batch-Skript die VBmsgBoxFunktion und die verwendeten Werte in ein temporäres Skript, das später ausgeführt wird überwSkript.

Dies sollte alles sofort funktionieren, ohne dass Drittanbieter-Tools installiert werden müssen.Windowseinheimisch.


Batch-Skript

Notiz: Damit dies funktioniert , müssen Sie die Syntax von SET x=msgbox "%TITLE%",0,"%MESSAGE%"anstelle der vorhandenen verwenden, aber das ist nur eine geringfügige Anpassung.

@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

Umleitung

   commandA &  commandB      Run commandA and then run commandB
   commandA && commandB      Run commandA, if it succeeds then run commandB

Weitere Ressourcen

verwandte Informationen