proliant
Goto Top

Variabler Laufwerksbuchstabe in .bat Datei einfügen

Hallo liebe User

Ich habe eine bootbare CD für Biosupdates. ich möchte über eine Batchdatei im root der CD ein Biosupdate starten, welches sich im Unterverzeichniss \BIOS\*\Update.exe befindet. Mein Problem ist jetzt das der Laufwerksbuchstabe des CD-Laufwerks, auf Grund der Anzahl der Partitionen, von Gerät zu Gerät unterschiedlich ist. mit welchem Befehl kann ich dieses umgehen?

Gruss
Proliant

Content-Key: 85126

Url: https://administrator.de/contentid/85126

Printed on: April 18, 2024 at 23:04 o'clock

Member: bastla
bastla Apr 09, 2008 at 18:20:43 (UTC)
Goto Top
Hallo Proliant und willkommen im Forum!

Der Laufwerksbuchstabe lässt sich in Batch mit %~d0 ermitteln - der Aufruf der "Update.exe" könnte daher so aussehen:
%~d0\BIOS\*\Update.exe
wobei mir allerdings der Stern nicht wirklich klar ist ...

Grüße
bastla
Mitglied: 60730
60730 Apr 09, 2008 at 18:33:55 (UTC)
Goto Top
Hi,

helf uns doch mal auf die Sprünge...

die CD ist Bootbar und bootet welches OS?
Wenn du mit der CD bootest, sollte das Laufwerk A: oder c:\ sein - aber das willst du bestimmt nicht hören *duck*

if exist a:\BIOS\Update.exe>nul start a:\BIOS\Update.exe
if exist b:\BIOS\Update.exe>nul start b:\BIOS\Update.exe

usw.

Aber
start BIOS\Update.exe
sollte auch gehen. - den Laufwerksbuchstaben brauchst du doch nicht, wenn die Batch im gleichen "Root" wie der Ordner Bios liegt....


@ Bastla - yupp den Stern hab ich auch mal ignoriert.
MIST 13 minuten zu spät *lach* und dann noch viel zu kompliziert....
Member: bastla
bastla Apr 09, 2008 at 19:59:36 (UTC)
Goto Top
@timobeil
... und dann noch viel zu kompliziert....
Finde ich nicht - einerseits ist es doch gut, ein Thema unter verschiedenen Aspekten zu betrachten, andererseits habe ich's mir ja vermutlich ohnehin zu leicht gemacht und cmd.exe (und nicht command.com) vorausgesetzt ...

Grüße
bastla
Member: Proliant
Proliant Apr 10, 2008 at 04:38:51 (UTC)
Goto Top
Vielen Dank für die schnellen Antworten.

start BIOS\****\Update.exe
So funktioniert es Wunderbar unter Windows aber leider nich unter DOS.
Da ich ja eh erst auf das CD-Laufwerk wechseln muss um die Batch auszuführen ist es egal welches Verzeichnis das Laufwerk hat.

if exist a:\BIOS\Update.exe>nul start a:\BIOS\Update.exe
if exist b:\BIOS\Update.exe>nul start b:\BIOS\Update.exe

Ich versuche es mal mit dieser Variante und gebe dann bescheid.

wobei mir allerdings der Stern nicht wirklich klar ist ...
Der Stern steht für ein weiteres Verzeichnis.

helf uns doch mal auf die Sprünge...

die CD ist Bootbar und bootet welches OS?
Wenn du mit der CD bootest, sollte das
Laufwerk A: oder c:\ sein - aber das willst
du bestimmt nicht hören *duck*
Die CD habe ich mit einer WinME Startdiskette erstellt und wenn's gebootet ist steht's auf Laufwerk A:
Member: Proliant
Proliant Apr 10, 2008 at 16:57:23 (UTC)
Goto Top
Folgend der Code der .bat Datei die im Root der CD liegt.

f exist d:\BIOS\MS6734\go.bat>nul start d:\BIOS\MS6734\go.bat
if exist e:\BIOS\MS6734\go.bat>nul start e:\BIOS\MS6734\go.bat
if exist f:\BIOS\MS6734\go.bat>nul start f:\BIOS\MS6734\go.bat
if exist g:\BIOS\MS6734\go.bat>nul start g:\BIOS\MS6734\go.bat

Habe es so probiert, bekomme aber immer den Fehler
"Befehl oder Dateinahme nicht vorhanden"

Gebe ich aber den Befehl
d:\BIOS\MS6734\go.bat
manuell ein so fuktioniert es.
Was kann ich tun?
Mitglied: 60730
60730 Apr 10, 2008 at 17:15:10 (UTC)
Goto Top
Hi,

dann mal ohne ">Nul" probieren....
> if exist d:\BIOS\MS6734\go.bat start d:\BIOS\MS6734\go.bat
> if exist e:\BIOS\MS6734\go.bat start e:\BIOS\MS6734\go.bat
> if exist f:\BIOS\MS6734\go.bat start f:\BIOS\MS6734\go.bat
> if exist g:\BIOS\MS6734\go.bat start g:\BIOS\MS6734\go.bat
> 
Member: Proliant
Proliant Apr 10, 2008 at 17:27:04 (UTC)
Goto Top
if exist d:\BIOS\MS6734\go.bat start d:\BIOS\MS6734\go.bat
if exist e:\BIOS\MS6734\go.bat start e:\BIOS\MS6734\go.bat
if exist f:\BIOS\MS6734\go.bat start f:\BIOS\MS6734\go.bat
if exist g:\BIOS\MS6734\go.bat start g:\BIOS\MS6734\go.bat

geht leider auch nicht face-sad
Member: Biber
Biber Apr 10, 2008 at 17:36:56 (UTC)
Goto Top
Moin Proliant,

lass doch den "Start"-Befehl weg.

Das reduziert den Batch auf
@For %%i in ( d e f g) do if exist %%i:\BIOS\MS6734\go.bat %%i:\BIOS\MS6734\go.bat

Grüße
Biber
Member: Proliant
Proliant Apr 10, 2008 at 17:48:50 (UTC)
Goto Top
@For %%i in ( d e f g) do if exist %%i:\BIOS\MS6734\go.bat %%i:\BIOS\MS6734\go.bat
> 

Sprach der Herr und es funktionierte! *freu*

Danke an euch alle für eure Mühe.