BAT Datei modifizieren

01/10/2009 - 16:23 von Dag Haeddenskjoeld | Report spam
Hallo,
vor Jahren hatte die c't mal ein kleines Utilitie namens System impfen.
Damit konnte man verschiedene Plattentreiber installieren und die
entsprechenden Eintrage in die Registry schreiben. Dadurch kann man unter
WinXP die Platte auch zu einem anderen Mainboard kompatibel machen. Leider
wird das Utilitie nicht mehr zum Download angeboten. Aber ich habe noch
eins. Allerdings scheint es nicht mehr zu funktionieren. Ich bekomme bei
einer Platte nach dem Einsatz in einem anderen Mainboard einen Bluescreen
mit der Fehlermeldung, dass ein Treiber nicht i.O. sei.
Wenn ich die im Utilitie enthaltene Datei MergeID.bat aufrufe, làuft sie
derartig schnell auf dem Bildschirm ab, dass man nichts mit bekommt. Daher
würde ich gerne zwischen den einzelnen Schritten eine Pause haben und das
man mit j/n oder Tastatureingabe weitermachen kann. Auch eine Erfolgsmeldung
wàre nicht verkehrt.
Hier mal die BAT Datei, wobei ich insbesondere im Bereich :ista gerne Pausen
hàtte:


@echo off
if "%1"=="" goto noarg
set ctdir=%1:\i386
goto tryit

:noarg
set ctdir=%SystemRoot%\Driver Cache\i386

:tryit
if exist "%ctdir%\driver.cab" goto isda
echo *** Datei %ctdir%\Driver.cab nicht gefunden ***
echo.
echo Bitte legen Sie Ihre Windows-XP-Installations-CD ein und rufen Sie
danach
echo dieses Programm erneut auf, wobei Sie den Laufwerksbuchsten Ihres
CD-ROM-
echo Laufwerks als Parameter angeben. Der Befehl sollte also beispielsweise
echo.
echo %0 D
echo.
echo lauten, wobei Sie das D gegebenenfalls durch den Laufwerksbuchstaben
echo Ihres CD-ROM-Laufwerks (ohne Doppelpunkt) ersetzen müssen.
echo.
goto raus

:isda
echo Extrahiere Treiberdateien...
expand>NUL "%ctdir%\driver.cab" -f:Atapi.sys "%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Intelide.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Pciide.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Pciidex.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
echo Erledigt.
echo Eintragen der Registry-Settings...
regedit -s MergeIDE.reg
if errorlevel 1 goto fehler2
echo Erledigt.
goto raus

:fehler1
echo Fehler beim Extrahieren der Treiberdateien
goto raus

:fehler2
echo Fehler beim Eintragen der Registry-Settings
goto raus

:raus
set ctdir


Kann mir jemand sagen, was ich für einen Befehl jeweils hineinschreiben
muss?

Gruß,
Dag
 

Lesen sie die antworten

#1 Pegasus [MVP]
01/10/2009 - 17:23 | Warnen spam
"Dag Haeddenskjoeld" wrote in message
news:ha2e1s$u0j$

Hallo,
vor Jahren hatte die c't mal ein kleines Utilitie namens System impfen.
Damit konnte man verschiedene Plattentreiber installieren und die
entsprechenden Eintrage in die Registry schreiben. Dadurch kann man unter
WinXP die Platte auch zu einem anderen Mainboard kompatibel machen. Leider
wird das Utilitie nicht mehr zum Download angeboten. Aber ich habe noch
eins. Allerdings scheint es nicht mehr zu funktionieren. Ich bekomme bei
einer Platte nach dem Einsatz in einem anderen Mainboard einen Bluescreen
mit der Fehlermeldung, dass ein Treiber nicht i.O. sei.
Wenn ich die im Utilitie enthaltene Datei MergeID.bat aufrufe, làuft sie
derartig schnell auf dem Bildschirm ab, dass man nichts mit bekommt. Daher
würde ich gerne zwischen den einzelnen Schritten eine Pause haben und das
man mit j/n oder Tastatureingabe weitermachen kann. Auch eine
Erfolgsmeldung wàre nicht verkehrt.
Hier mal die BAT Datei, wobei ich insbesondere im Bereich :ista gerne
Pausen hàtte:


@echo off
if "%1"=="" goto noarg
set ctdir=%1:\i386
goto tryit

:noarg
set ctdir=%SystemRoot%\Driver Cache\i386

:tryit
if exist "%ctdir%\driver.cab" goto isda
echo *** Datei %ctdir%\Driver.cab nicht gefunden ***
echo.
echo Bitte legen Sie Ihre Windows-XP-Installations-CD ein und rufen Sie
danach
echo dieses Programm erneut auf, wobei Sie den Laufwerksbuchsten Ihres
CD-ROM-
echo Laufwerks als Parameter angeben. Der Befehl sollte also
beispielsweise
echo.
echo %0 D
echo.
echo lauten, wobei Sie das D gegebenenfalls durch den Laufwerksbuchstaben
echo Ihres CD-ROM-Laufwerks (ohne Doppelpunkt) ersetzen müssen.
echo.
goto raus

:isda
echo Extrahiere Treiberdateien...
expand>NUL "%ctdir%\driver.cab" -f:Atapi.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Intelide.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Pciide.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
expand>NUL "%ctdir%\driver.cab" -f:Pciidex.sys
"%SystemRoot%\System32\Drivers"
if errorlevel 1 goto fehler1
echo Erledigt.
echo Eintragen der Registry-Settings...
regedit -s MergeIDE.reg
if errorlevel 1 goto fehler2
echo Erledigt.
goto raus

:fehler1
echo Fehler beim Extrahieren der Treiberdateien
goto raus

:fehler2
echo Fehler beim Eintragen der Registry-Settings
goto raus

:raus
set ctdir>


Kann mir jemand sagen, was ich für einen Befehl jeweils hineinschreiben
muss?

Gruß,
Dag



Wie du schon selber sagst: Du musst den Befehl "pause" in strategisch
gewàhlten Stellen einfügen. Zudem solltest du die Datei von der
Befehlseingabe ausführen und nicht über Start / Ausführen. Also Start / Run
/ cmd.exe{OK}.

Ähnliche fragen