Windows:Batch Datei (.cmd / .bat) soll nur ein einziges mal bei Anmeldung abgearbeitet werden
Aus znilwiki
Problemstellung:
- Sie müssen bei allen Benutzern bei der nächsten Anmeldung etwas ändern (z.B. Dateien kopieren, Registry Schlüssel ändern etc).
- Es soll ein Skript nur bei der ersten Anmeldung eines neuen Benutzers ausgeführt werden
- Das Skript soll aber wirklich nur einmalig ausgeführt werden
Lösungsvorschlag 1
Wir merken uns einfach ob unser Skript schon einmal gelaufen ist - in der Registry des Benutzers, denn genau für so etwas ist diese da:
@echo off
REM Dieses Skript soll nur einmalig abgearbeitet werden, also müssen wir uns merken ob wir es schon einmal gelaufen ist
REM Wir fragen unseren(!) selbst erstellten RegSchlüssel ab ...
reg query HKCU\Software\UnserRegistrySchluessel /v SkriptLiefSchon
Goto ERGEBNIS%ERRORLEVEL%
REM in Errorlevel steht, ob reg query Erfolg hatte oder nicht - wenn nein (=Fehler) ist der Wert 1 und es wird zu ERGEBNIS1 gesprungen,
REM wenn ja ist der Wert 0 und es wird zu ERGEBNIS0 gesprungen.
Goto ENDE
:ERGEBNIS1
echo An dieser Stelle müsst Ihr eure Sachen einfügen ....
REM Nun setzen wir den RegKey den wir am Anfang prüfen
reg add HKCU\Software\UnserRegistrySchluessel /v SkriptLiefSchon /d ja
Goto ENDE
:ERGEBNIS0
REM Wenn Goto hier gesprungen ist, gab es den RegKey schon, reg query hatte Erfolg, Errorlevel ist also 0
REM wir springen also gleich ans Ende
Goto ENDE
:ENDE