Frage von epiclepic1997, 47

wie schreibe ich ne batch die sich nochmal 2 mal öffnet wenn man sie schließt?

will ne kleine spaß datei schreiben

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von SirSchinken, 27

Hierbei sollte dir niemand weiterhelfen, da die Datei einfach nur nutzlos ist und lediglich Computer resourcen ohne jeden nutzen beansprucht, dazu kommt das sowas mit Batch alleine nur schwer/eigentlich garnicht umzusetzen ist. Batch ist eine Script Sprache für Stabilitätsscripte. (Mal davon abgesehen das es auch in richtigen Programmiersprachen nicht so leicht wäre, da man ganz einfach die Prozesse/den Prozess über den Taskmanager beenden kann, und dann ist eh Schluss)

Kommentar von Etter ,

"Mal davon abgesehen das es auch in richtigen Programmiersprachen nicht
so leicht wäre, da man ganz einfach die Prozesse/den Prozess über den Taskmanager beenden kann"

Naja du musst halt einen 2. Prozess starten, welcher im Hintergrund einfach überwacht, ob der Prozess noch läuft. Ist jetzt nicht das große Drama, aber den Hintergrundprozess zu verschleiern wäre sehr nervig.

Kommentar von Etter ,

Beispielsweise könntest du in Powershell eine Methode schreiben, welches ein 2. Script in einem versteckten Ordner anlegt und startet (u.U. auch in den Autostart).

Dabei verfügt das Script über den Inhalt des anderen Scripts und kann es ggf. wieder zurückschreiben.

Anschließend überwacht das Script einfach nur ob eine gewisse Menge an Powershell-Prozessen läuft. Wenn alle Prozesse, bis auf einen Powershell-Prozess beenden wurden, wird das 1. Script neu gestartet und ein Counter hochgezählt. Dabei beträgt die Anzahl wie oft das Script geöffnet wird 2^counter. So ungefähr sollte das Konzept aufgehen.

Das einzige Problem dabei wäre eig. nur noch das 2. Script zu verschleiern (2. Programmier- / Scriptsprache anwenden z.B.).

Kommentar von SirSchinken ,

Würde einer halbwegs fähigen Person auch nicht schwer fallen, wie beschrieben einfach beide Prozesse abzuschießen, oder notfalls beide Prozesse über eine .BAT Datei oder die Eingabeaufforderung abzuschießen, sollte es manuell nicht schnell genug gehen. (Da sich beide immer wieder schnell genug selbst starten)

Antwort
von SplashPalm64, 22

wird schwierig, da die Datei ja nicht weiß wann sie geschlossen wird:

@echo off

:loop

start

goto loop

haste ne Endlosschleife. ! Achtung PC hängt sich definitiv auf, nach Neustart ist alles wieder normal

wenn du noch einen Timer reinsetzt also

@echo off

:loop

start

@ping -n 5 localhost> nul

goto loop

so wartet die Batch (IN dem Fall 5sec.)  bis sie wieder ein neues Fenster öffnet.

wenn du noch was anderes Willst einfach fragen ;D

Kommentar von Etter ,

Die Batchdatei soll sich aber net wahllos neustarten, sondern soll sich potenzieren.

Das heißt, dass es sich 2 mal neu öffnet, wenn du es schließt. Schließt du die beiden, startet es sich 4 mal neu.

Dadurch hast du dann ein Script, welches sich 2^n mal öffnet. n steht hierbei für die Versuche alle laufenden Prozesse des Scripts zu beenden.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten