Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Batchdatei darf nicht geschlossen werden





Frage

Hallo Forengemeinde, ich habe eine Batchdatei geschrieben, die von den Anwendern nicht geschlossen werden darf. Wie kann ich das anstellen, ich habe da überhaupt keinen Plan?! Vielen Dank im Vorraus für eure Unterstützung. ITS304

Antwort 1 von Solo

Hi, am einfachsten fügst du mit REM und einen Hinweis darauf in die Batch als Kopfzeile ein.


@echo off
pause
cls
echo.

echo ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Benutzer-Infos ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³ Die Registrie wird im DOS-Modus neu geschrieben, defragmentiert und ³Û
echo ³ gleichzeitig verkleinert. Die so bearbeitete Registrie verbessert die ³Û
echo ³ Rechnerleistung. Eine Sicherung der alten Registrie wird im Ordner ³Û
echo ³ "C:\RegOpt" erstellt. Um die Rechnerleistung zu optimieren, sollten Sie³Û
echo ³ anschliessend die Festplatte noch mit der "winopt.bat" aus dem Haupt- ³Û
echo ³ men� des PC-Analysator (2. Schritt-Festplatte...) defragmentieren. ³Û
echo ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
echo ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
echo.

Der Text ist deinen Wünschen entsprechend anzupassen.

MfG

Antwort 2 von Solo

Nachtrag:
Mit dem Kopieren hat es leider nicht so richtig geklappt. Musst du alles noch in Reih und Glied bringen. Das ist leider noch so eine Schwachstelle von SN.

Antwort 3 von IT304

Da funktioniert leider nicht. Ich muss gewährleisten, das die Batch-Datei nicht abgebrochen werden kann.

Ich hatte erst gedacht, da die Batchdatei aus einer anderen aufgerufen wird, kann ich das so machen:

C:\exit.bat /Q /X (hab das mal bei einen anderen Programm gesehen, da wird das Schließen-X ausgegraut. Leider funktionierte das nicht.

Habt ihr da wirkungsvollere Vorschläge?

Danke,
ITS304

Antwort 4 von Abjürgen

Zitat:
hab das mal bei einen anderen Programm gesehen, da wird das Schließen-X ausgegraut.

Du könntest die Batch z.B. über ein VBSkript ganz ohne Fenster starten:

set shell=createobject("wscript.shell")
shell.run "1.bat",0

Über den Taskmanager oder das Herunterfahren von Windows könnte der User den Task aber trotzdem abwürgen.

Antwort 5 von Solo

Ich bin zwar kein DOS-Spezialist, aber was du vorhast funktioniert mit reinen DOS nicht. Vielleicht erklärst du mal genauer was du vorhast und was du mit der bat-Datei erreichen möchtest.

Du kannst die bat auch aus einer anderen bat-Datei aufrufen und so, dass sie in der selben integriert wird. Sie erschein somit nicht als selbständiges Fenster und kann daher auch nicht geschlossen werden, erst mit der anderen bat-Datei in der sie integriert ist.

der Befehls-Code dazu lautet: call C:\exit.bat
den müsstest du an einer geeignete Stelle der anderen bat-Datei setzen.

Was die Schalter /Q /X weiss ich jetzt nicht, müsste ich erst nachschlagen.

Antwort 6 von jonny123

Antwort 7 von IT304

Hallo Gemeinde,

ich habe das jetzt mit dem VBScript gemacht, da dies für mich am schlüssigsten ist.

Was soll die Batch ausrichten?
In der Batch-Datei wird überprüft. ob der User für den Rechner berechtigt ist, wenn nicht, erscheint sofort eine Fehlermeldung (via Net send) - Leider weiß ich nicht, wie man sonst Fehlermeldung generieren kann.
Und nach ein kurzen Zeit, wird man vom System abgemeldet.

Mit Hilfe des VBScriptes, funktioniert es recht gut.

Danke für eure Hilfe. Vielleicht fällt auch jemanden dazu noch was ein.

MfG,
IT304