Wie kann man es schaffen, dass eine Batch datei im hintergrund(prozess) weiterläuft?

... komplette Frage anzeigen

3 Antworten

Bitte nochmal: wo soll die Batch angezeigt oder nicht angezeigt werden? Im Hintergrund mit Anzeige in der Taskleiste macht jetzt nicht so viel Sinn.

Ich würde das je nach Betriebssystem mit einem Script oder einem Task machen. Billiger gehts auch bei Windows mit "Start /min batch.bat"

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MrCommandBlock
23.08.2016, 09:21

Sie soll nur im Taskmannager unter dateils sichtbar sein

0
Kommentar von MarkusGenervt
26.08.2016, 15:22

"start /min …" versteckt leider das Console-Taskbar-Icon nicht. Die Console wird nur minimiert ausgeführt.

0

Eine Batch kann niemals im Hintergrund laufen, da Prozesse im Hintergrund eine spezielle Speicherstruktur benötigen, die mit Batches einfach nicht möglich ist. Man kann zwar das Icon cachieren, aber die Console wird die Batch ständig im Vordergrund laufen lassen und somit die CPU-Last erheblich erhöhen. Aber das soll bei echten Hintergrund-Prozessen ja gerade vermieden werden.

Auch ein VBScript wird immer aktiv bleiben und nie wirklich in den Hintergrund treten. Es ermöglicht aber eine reduziertere Speicher/CPU-Last.

Ich bin mir gerade nicht sicher, ab VB.NET bereits solche Laufzeit-Steuerung unterstützt, aber normalerweise sind hierfür spezielle CallBacks und System-Events/Messages erforderlich, welche nur unter C/C++/C# sauber verfügbar/implementierbar sind. Man könnte diese auch via API-Aufrufe in VB einbinden, aber leider werden die VB-RTL's selbst zusätzlich den Speicher/CPU belasten und auch das cachieren ist nicht ganz so leicht.

Wenn ich mich nicht täusche, betrifft das was Du vorhast das "Device Management", bzw. "Windows Messaging" (WM_DEVICECHANGE). Danach solltest Du mal recherchieren.

Wenn dir allerdings egal ist, ob die ganze Zeit unnötige System-Last auftritt, dann versuche halt aus deinem Skript eine EXE zu machen (BAT2EXE, VBS2EXE) und diese dann im Tray oder ganz zu verstecken. Dafür gibt es eine Vielzahl an Tools.

Antwort bewerten Vielen Dank für Deine Bewertung

So viel ich weiß kann man Batch datein nicht im hintergrund ausfüren lassen weil das DOS-Fenster nicht offen bleibt. Aber du kannst es mal mit VBScript versuchen damit kannst du die datei im hintergrund ausführen lassen. Wenn das nicht klappt dann vill mit zusatztools die aus der .bat eine .exe machen dann müsste das gehen

LG HerrBRENNER

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?