optikus
Goto Top

Cmd.exe soll bei Ausführung über Aufgabenplanung keinen Fokus erhalten

Hallo,
ich lasse über die Aufgabenplanung eine Batchdatei alle 10 Minuten eine bestimmte Datei in ein anderes Verzeichnis kopieren. Damit ich immer mal eine optische Rückmeldung habe, dass die Ausfgabe auch abgearbeitet wird lasse ich das Command-Fenster für eine Sekunde anzeigen. Was kann ich tun, damit das Fenster nicht den Fokus übernimmt? Ich will natürlich auch ab und zu mit der Console arbeiten, insofern soll nur für die Aufgabe der Fokus entzogen werden.

Content-ID: 1462338696

Url: https://administrator.de/contentid/1462338696

Ausgedruckt am: 19.12.2024 um 13:12 Uhr

akadawa
akadawa 03.11.2021 aktualisiert um 17:25:58 Uhr
Goto Top
Ich habs nicht getestet, aber wenn du die Batchfile mit
start "pfad:/der/batchfile.bat" /min   
über die aufgabenplanung startest könnte es funktionieren

Zu start ss64.com/nt/start.html etwas mehr
2021-11-03 17_23_22-cmd.exe soll bei ausführung über aufgabenplanung keinen fokus erhalten - adminis
Optikus
Optikus 03.11.2021 um 17:59:14 Uhr
Goto Top
Ich probiere! Danke im voraus!
Optikus
Optikus 03.11.2021 um 18:32:22 Uhr
Goto Top
Jetzt ruft die Aufgabenplanung nur die cmd.exe auf und diese bleibt offen. Vielleicht ein Syntaxfehler? Erst hatte ich auch den Pfad mit Backslash geschrieben und jetzt mit Slash wie Du geschrieben hast:

start "D:/System/autosv$.bat" /min

Allerdings steht in Deinem link, dass /MIN das Fenster minimiert startet. Ich will ja eigentlich schon das Fenster sehen (als alter Kontrollfreak) Es soll nur nicht für die eine Sekunde, die es zu sehen ist, den Fokus bekommen, da ich dann in meinem CAD-Programm, in dem ich arbeite kurzzeitig den Fokus verliere, was manchmal auch einen dortigen Befehl unterbricht. Ich vermute fast, dass so etwas nicht möglich ist...
DerWoWusste
DerWoWusste 03.11.2021 um 19:57:49 Uhr
Goto Top
Oder aber deine Batch ergänzen um
msg * /time:1 Ende der Batch erreicht
Optikus
Optikus 04.11.2021 um 07:17:21 Uhr
Goto Top
Ich habe die Zeile an das Ende meiner Batch geschrieben. Jetzt bleibt die Console offen und meldet:
"Geben Sie die Nachricht ein, die gesendet werden soll; beenden Sie die Nachricht, indem Sie in einer neuen Zeile STRG-Z und Eingabe drücken."

Hier mal zur Illustration meine mit gefährlichem Halbwissen zusammengestrickte Batch:
@echo off
COLOR 1E
tasklist /FI "IMAGENAME eq acad.exe" 2>NUL | find /I /N "acad.exe">NUL
if "%ERRORLEVEL%"=="0" GOTO WEITER
GOTO END
:WEITER
echo Kopiere autosv$ nach H:
copy G:\Acadtemp\*.sv$ H:\Autosv$
echo Erledigt!
timeout /t 1
:END

Erst wird der Schönheit wegen die Fensterfarbe auf blau gesetzt. Dann wird geprüft ob das CAD-Porgramm überhaupt läuft, um unnötige Kopiervorgänge zu vermeiden. Wenn ja wird kopiert und das Fenster verschwindet wieder nach 1 Sekunde. WIe gesagt, cmd.exe soll nur nicht den Fokus übernehmen.
DerWoWusste
DerWoWusste 04.11.2021 um 08:44:48 Uhr
Goto Top
Du hast die msg-Zeile nicht richtig übernommen, scheint mir. Kopier sie von oben.
Optikus
Optikus 04.11.2021 um 10:15:56 Uhr
Goto Top
Ich hatte extra die Leerzeichen gezählt und dann doch nicht richtig gesetzt. Nun ist es perfekt!
Da ich einen separaten Internetrechner habe war es mir zu langwierig die Zeile erst in eine Datei zu kopieren und dann an meinen Workstation zu kopieren. (Also nicht nur Kontrollfreak, auch noch Sicherheitsfreak ;)
Vielen Dank für die Hilfe. Ich hatte meine Batchdatei auch in mein CAD-Forum gestellt und dort Zustimmung erhalten. Das Problem ist, dass das CAD-Programm AutoCAD zwar eine Sicherungsdatei schreibt, jedoch wenn man eine Zeichnung aus Versehen ohne sichern beendet (was immer mal vorkommen kann) wird von AutoCAD diese Sicherungsdatei gelöscht. Und zwar so gründlich, dass sie weder im Papierkorb landet, noch über eines der üblichen undelete-Programme gefunden wird. Wie AutoCAD das macht ist mir vollkommen schleierhaft. Daher kopiere ich halt diese Datei fortlaufend in ein anderes Verzeichnis, wodurch ich dann im Falle eines Falles nicht stundenlange Arbeit verloren habe (ja, ich weiß, man sollte auch immer wieder mal händisch sichern)
Viele Dank Euch!