2016-08-15 4 views
2

In Abwesenheit von msg.exe auf meinem Betriebssystem, versuche ich das Pop-up-Meldungsfeld mit cmd.exe zu imitieren. Aber was ich angetroffen habe, nervt mich sinnlos.Batch - CMD.exe/T Parameter Option nicht Farben wie erwartet einstellen

Mein ultimatives Ziel ist programmgesteuert, mit einem .vbs Skript und schtasks.exe erstellen Sie eine Popup-Erinnerung im Taskplaner.

Das Problem, das ich habe, ist, wenn ich die folgend in einer Batch-Datei auszuführen:

start "Alert" cmd.exe /t:f0 /k "mode con: cols=40 lines=10 & echo *** Message goes here *** & echo. & echo. & echo. & echo. & echo. & echo. & echo. & echo Press any key to exit & pause>nul" 

ich das gewünschte Ergebnis, aber wenn ich die /k Parameter /c (wie beabsichtigt in Originalschrift ändern) die ausgewählten Vorder-/Hintergrundfarben nicht korrekt angezeigt werden ...

ich, indem das Skript dieses Problem umgehen:

start "Alert" cmd.exe /c "mode con: cols=40 lines=10 & color f0 & echo *** Message goes here *** & echo. & echo. & echo. & echo. & echo. & echo. & echo. & echo Press any key to exit & pause > nul" 

Aber ich verstehe nicht, warum die /t in meinem ursprünglichen Skript fehlschlägt. Könnte jemand erklären?

Als eine verwandte Frage - nicht sicher, ob dies erlaubt ist, in diesem Fall ignorieren - Taskplaner ermöglicht die manuelle Erstellung einer Aktion "Eine Nachricht anzeigen", wird dies innerhalb der Anwendung selbst erreicht? und ist es möglich, es programmgesteuert über schtasks.exe zu setzen?

Antwort

2

In Bezug auf cmd.exe/t ignorieren, wenn /k Angabe - in der Tat, das wie ein cmd.exe Fehler scheint, ich auf einem Windows 10-Version bestätigen 1607. Sie Ihren Atem für eine Korrektur nicht halten ...

In Bezug auf schtasks.exe - Es gibt einige Funktionen für geplante Aufgaben, die Sie nicht direkt über Befehlszeilenparameter erstellen können. Um dieses Problem zu umgehen, können Sie eine solche Aufgabe manuell erstellen, sie exportieren, das exportierte XML-Dokument möglicherweise bearbeiten und es dann unter Verwendung von schtasks /Create /XML mytask.xml neu erstellen. Beachten Sie, dass Display a message als (veraltet) angegeben ist, so dass es in zukünftigen Versionen möglicherweise nicht funktioniert.

+0

Vielen Dank für Ihre Antwort. Ich betreibe übrigens Windows 7 Home Premium. Wenn das tatsächlich ein Fehler ist, werde ich auf jeden Fall Ihre Umgehung in Betracht ziehen. Bedeutet das, dass die Aktion "Eine Nachricht anzeigen" ein Vorgang ist, der TS innewohnt, oder ruft sie eine andere App auf, um die Popup-Nachricht auszuführen? Denkst du, es ist zu früh, um diesen Fehler MS zu melden, oder sogar lohnend? –

+0

Okay, ich habe festgestellt, dass durch manuelle Erstellung der Aufgabe, die programmgesteuert ausgeführt werden soll, wenn das Meldungsfenster ausgelöst wird, kein neuer Prozess im Task-Manager angezeigt wird. Das Popup scheint TS (taskeng.exe) zuzuordnen :(... Ich habe auch festgestellt, die Befehlszeile "Start" vor der "cmd.exe" ist nicht akzeptiert in der "Programm/Skript" -Feld, noch die "add arguments" -Feld, die Absicht für diese Änderung der cmd Fenstertitel, zumindest das kann ich mit dem Parameter "title" innerhalb der Befehlsoption run selbst machen ... –

Verwandte Themen