Wie bringe ich eine Batch Datei dazu, im Hintergrund zu laufen?

4 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Bat2exe -> auf Exe umwandeln und unsichtbar stellen. Fertig

von wegen geht nicht...
Klar  geht das  auch ohne Hilfsmittel:
einfach  starten und es ist weg...
keine Sorge es meldet sich alle 10 Sekunden aus dem Hintergrund

@echo off
set x=%~f0
set x=%x:\=\\%
IF not .%1==. goto :mainloop
CD %~dp0
MSHTA "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%x%', '1', '', 'open', 0);close(0) "
exit /b

:mainloop
for /f "usebackq" %%f in (`mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(new ActiveXObject('WScript.Shell').PopUp('Hintergrund Batch beenden...',0,'Title',36));close();"`) do (
if "%%f"=="6" ( set "stop=1"))
ping localhost -n 10 >nul
if not .%stop%==.1 goto :mainloop
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren

du könntest die Batch beim Windows hochfahren automatisch starten. Dazu > windows zeichen + r > shell:startup > batch reindamit :D

Gar nicht.

Batch ist ein Befehlszeilen-Stapel-Interpreter und es ist nicht möglich diesen als Hintergrund-Prozess zu erstellen. Alle Stapel-Prozesse laufen immer im Vordergrund.

Um Hintergrund-Prozesse zu erstellen, musst Du ein Dienst-Programm programmieren. Da kommt Batch nicht mal in die Nähe und das ist auch gut so.