Bat-Datei noch vor dem Start von XP ausführen.

Clocker 2800+

Lt. Commander
Registriert
Apr. 2007
Beiträge
1.409
Hallo,

es gibt ja die datei: autoexec.bat (normalerweise auf Laufwerk C).
Wenn man in dieser Datei was hineinschreibt, dann läuft das ja noch vor dem Start des Betriebssystems ab.

Mein Problem ist, ich habe den XP-Bootmanager (zwei mal XP installiert).
Ich möchte nun, wenn ich eines von den beiden im Bootmanager starte, dass dann die autoexec.bat (oder auch ne andere Datei) aufgerufen wird, sodass zuerst der Inhalt von der autoexec.bat abgearbeitet wird, und dann erst Win XP gestartet wird.

Die autoexec.bat soll aber nur abgearbeitet werden, wenn ich das erste WinXP im Bootmanager starte.
D.h. Wenn ich das zweite starte, soll nichts geschehen. Nur beim ersten Win XP.

Das Problem ist ja, dass man nur eine autoexec.bat hat, die so schätze ich mal, bei allen beiden Start abgearbeitet wird. (wenn was drinsteht).


-----
Ich möchte nämlich eine bat-Datei (auf Laufwerk C:\): "test.bat" noch vor dem XP Ladebalken (oder wenigstens vor der XP Anmeldung (=Winlogon.exe)) starten.

Welchen Befehl muss ich demnach in die autoexec.bat schreiben, damit die bat-Datei gestartet wird ?

:o
Die bat-Datei (test.bat) soll nur bei dem ersten Win XP abgearbeitet werden, beim zweiten nicht.

Wer kann mir da helfen ?
 
Clocker 2800+ schrieb:
es gibt ja die datei: autoexec.bat (normalerweise auf Laufwerk C).
Wenn man in dieser Datei was hineinschreibt, dann läuft das ja noch vor dem Start des Betriebssystems ab.
Ja, unter Dos bzw. Win3.xx oder Win95/98. Bei NT-Systemen gibt es keine Autoexec.bat, die beim Systemstart abgearbeitet wird.
 
Da heisst die Datei autoexec.nt und config.nt, zu finden in z.B. %System32%. Sie wird aber nur ausgeführt, wenn DOS/CMD aufgerufen wird. ?Wenn Du sie direkt in den Windows Ordner legst werden sie eigentlich beim Start abgearbeitet. ? Habs noch nie getestet, weil nie benötigt wurde.
Du kannst ein Script vor der Anmeldung starten. Gib dazu mal unter ausführen gpedit.msc ein. Diese ganzen Einstellungen werden übrigens im Ordner %windir%System32\GroupPolicy gespeichert.
 
@werkam

Die Autoexec.nt im Ordner %windir% wird überhaupt nicht beachtet und auch nicht beim Windowsstart aufgerufen. Die in %windir%\system32 wird für ein MS-Dos-Programm oder ein 16-Bit-Windows-Programm verwendet und nur beim Aufruf von command.com, nicht bei cmd.exe benötigt und ausgeführt.

Die Gruppenrichtlinien gibt es ausschließlich in der Prof-Version von XP.
 
@1668mib
Run-Schlüssel sorgen dafür, dass Programme automatisch ausgeführt werden, sobald sich ein Benutzer anmeldet. Er möchte aber vor dem Anmelden ein Programm/Batch ausführen.
@krawumm
Habe es extra in ?? gesetzt, weil ich es nicht getestet habe.
?Wenn Du sie direkt in den Windows Ordner legst werden sie eigentlich beim Start abgearbeitet. ? Habs noch nie getestet, weil nie benötigt wurde.
 
@werkam

Erkennst du den Unterschied in den beiden Schlüsseln?

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
 
Sie werden in der folgenden Reihenfolge geladen:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices

<Anmeldeaufforderung>

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Ordner "Autostart"

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Also werden Einträge im RunOnce erst nach der Anmeldung abgearbeitet.
 
Äh, :)

welche Datei muss ich jetzt wohin kopieren ?
Und was muss ich da reinschreiben, damit die bat-Datei aufgerufen wird ?
 
Kopier die Batch einfach in deinen Autostart-Ordner im Startmenu (oder erstelle in dem ordner ne Verknüpfung). Falls die Batch bei allen Userb ausgeführt werden soll, ist der Autostart-Ordner unter "Dok. und Einstellungen/All User" das Ziel. Ist die schmerzloseste und schnelleste Variante :).
 
werkam hat doch schon gepostet, dass nur Systemdienste vor der Anmeldeaufforderung ausgeführt werden. Daher wird es mit deinem Unterfangen wohl schwer werden.
 
Ich hab ja nicht gesagt dass er nicht auch auf RunServicesOnce zurückgreifen könnte, ich hab nur ein Stichwort geliefert...
Da genauere Aussagen nach wie vor fehlen, was er denn genau machen möchte, halte ich eine Empfehlung zur Vorgehensweise als relativ sinnlos.

@Simpson474: Man kann eigentlich jedes beliebige Programm als Dienst starten lassen... nur macht es bei vielen keinen Sinn.
 
Äh,

das Problem ist, dass ich Windows-Systemdateien kopieren (ersetzen) will, und wenn man die bat-Datei erst im Autostart-Ordner ausführt, dann können diese Dateien nicht mehr ersetzt werden, da sie schon in Benutzung sind (sind schon geladen).

Also muss das Kopieren noch vor dem Starten von Windows ersetzt werden.

:)
P.S. Bitte keine Fragen zu diesem Kopieren, denn die Erklärung dauert ewig. :)
 
Kannst du nicht von einem anderen Betriebssystem starten und dann auf die Partition zugreifen, auf der die Dateien geändert werden sollen? Oder sollen die bei jedem Start ersetzt werden?
So habe ich jedenfalls schön öfters Dateien ersetzt, beziehungsweise eingefügt, die defekt waren oder gefehlt haben (unter anderem ntldr).
 
@1668mib
RunServicesOnce wird unter XP nicht beachtet, gerade ausprobiert. ;)
Die Schlüssel "RunServicesOnce" und "RunServices" werden geladen, bevor sich der Benutzer bei Windows 95, Windows 98 und Windows Me anmeldet

Insofern ist die Zusammenstellung unten, für welche OS der Artikel gilt, reichlich verwirrend. ;)
 
Zuletzt bearbeitet:
Starte den Rechner im abgesicherten Modus mit Eingabeaufforderung, starte die Batchdatei, danach startest Du den Rechner neu.
 
Das Ersetzen muss aber jedes mal vorm Start des Betriebssystems geschehen.
 
Zurück
Oben