hesekaia
Goto Top

DOS auf USB-Stick, durch Menü .bat öffnen funktioniert nicht.

Habe auf einem USB-Stick ein Bootfähiges DOS(über eine Startdiskette die unter Vista erstellt wurde) installiert und will über ein Menü eine .Bat datei öffnen, dies funktioniert auch wunderbar mit einer selbst geschriebenen "Hello World".bat, aber sobald ich auf die wirkliche .bat verlinke, sagt er mir bad command or file...

So also, ich hatte bevor ich dieses Projekt begonnen habe keine Erfahrung mit .bats geschweigeden mit DOS, deshalb wäre es hilfreich mir auch die kleinsten Sachen zu erklären die ich falsch gemacht haben könnte.


Also ich habe einen 256MB großen USB-Stick, auf dem ich über ein Virtuelles Diskettenlaufwerk eine Startdiskette unter Vista erstellt habe.Natürlich Fat.

Auf diesem habe ich nun meine Autoexec.bat so formatiert:
goto %config%

:BIOS1
C:\BiosV1.18\Bios1.bat
goto Ende

:BMC
C:\BMCV3.60\3.60.bat
goto Ende

:BIOS2
C:\BiosV1.21\1.21.BAT
goto Ende

:Ende

Meine Config.sys sieht folgendermaßen aus:
[menu]
menuitem=BIOS1, BiosV1.18 installieren.
menuitem=BMC, BMCV3.60 installieren.
menuitem=Bios2, BiosV1.21 installieren.
menucolor=15,4
menudefault=BOS1, 100


[BIOS1]

[BMC]

[BIOS2]

[COMMON]

Zur kurzen Erklärung:
Der USB-Stick ist eine Verbindung von mehreren Sticks, man muss nämlich erst Bios Flashen ,dann die BMC installieren und dann Bios auf die Finale Version flashen. Um hierbei nicht immer 3 Sticks mitnehmen zu müssen, soll mein "Menü-Stick" entstehen.

Also jetzt zu meinem Problem, er öffnet die umbenannten autoexec.bats der anderen USB-Sticks nicht die jeweils in einem Unterortner, mit dem restlichen Inhalt der alten USB-Sticks liegen. Wenn ich jedoch in den Unterortner eine selbstgeschriebene .bat schreibe und auf diese verlinke funktioniert es einwandfrei. Es kommt dabei kein "bad command or file ihrgendwas"


Falls ich noch was wichtiges vergessen habe fragt einfach nach.


Gruß Hese

Content-Key: 120481

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

Printed on: April 25, 2024 at 14:04 o'clock

Member: empreality
empreality Jul 15, 2009 at 06:46:47 (UTC)
Goto Top
Du postest leider nicht den Inhalt der BATs in den UnterorDnern.

Änder diese Zeile
C:\BiosV1.18\Bios1.bat 

mal in
cd c:\BiosV1.18
Bios1.bat
Member: SlainteMhath
SlainteMhath Jul 15, 2009 at 07:02:27 (UTC)
Goto Top
Moin,

Ist der stick wirklich als Laufwerk C: im System? Sollte das nicht, nachdem er ein Floppy Emuliert A. oder B: sein?

Nebenbei;
in Deiner config.sys hast Du in Zeile 6 einen Tippfehler BOS1 statt BIOS1 face-smile

lg,
Slainte
Member: hesekaia
hesekaia Jul 15, 2009 at 07:35:24 (UTC)
Goto Top
                                                 
rem ################################################################ 
rem # This batch file installs a new System BIOS in the Flash Memory.
rem # It supports recovery and normal flash update.                  
rem #                                                                
rem # Only Primergy D2244 is supported.                       
rem # _REV = 118h _TREV = @                                
rem #                                                                
rem #      Copyright (c) 2006 Fujitsu  Siemens  Computers            
rem ################################################################ 
rem                                                                  
    CLS                  
    SET BOARD=2244
    SET SUBID=_00
    type FLASHDSK.ETT    

rem ###### check board number ######################################
    actions checkdnumber %BOARD%
    if NOT errorlevel 1 goto step2
    rem wrong board number
    beep1
    beep1
    echo System does not match this flash-diskette
    goto dosexit

rem ###### check recovery flash ####################################
:step2
    testrec
    if errorlevel 1 goto recflags
    SET FLAGS=/NOP6
    goto step3

:recflags
@rem    "Disable Watchdog during Recovery Flash"  
@rem    @ECHO "Enter Post"  
    @ipmi_cmd -KCSIO=0x0CA2 -exec=0xB8,0xF1,0x80,0x28,0x00,0x08,0x01 >nul
    if errorlevel 0 goto next
    goto recstart
    
:next
@rem    @ECHO "Send Postcode BB (for Bootblock) to BMC"  
    @ipmi_cmd -KCSIO=0x0CA2 -exec=0xB8,0xF1,0x80,0x28,0x00,0x0A,0xBB >nul
@rem    @ECHO "Set (Stop) BIOS/POST Watchdog, 1. try"  
    @ipmi_cmd -KCSIO=0x0CA2 -exec=0x18,0x24,0x82,0x00,0x00,0x00,0xff,0xff >nul
@rem    @ECHO "Reset Watchdog"  
    @ipmi_cmd -KCSIO=0x0CA2 -exec=0x18,0x22 >nul
@rem      @ECHO "Get Watchdog 1."  
@rem      @ipmi_cmd -KCSIO=0x0CA2 -exec=0x18,0x25
@rem    @ECHO "Set (Stop) BIOS/POST Watchdog"  
    @ipmi_cmd -KCSIO=0x0CA2 -exec=0x18,0x24,0x82,0x00,0x00,0x00,0xff,0xff >nul
@rem      @ECHO "Get Watchdog 2."  
@rem      @ipmi_cmd -KCSIO=0x0CA2 -exec=0x18,0x25

:recstart
    rem set flags for recovery flag
    SET FLAGS=/NOP6 /y
    goto step3
    
rem ###### start flash #############################################
:step3
    echo updating SYSTEM BIOS
    bioflash d%BOARD%%SUBID%.ocf %FLAGS%
    if errorlevel 1 goto flasherr
    rem flash finished without an error
    beep1
    echo.
    echo System restart required.
    echo.
    echo Please remove diskette as soon as screen is cleared
    pause
    echo System is rebooting now ... Please remove diskette
    reboot.exe

rem ###### flash error handler #####################################
:flasherr
    testrec
    if errorlevel 1 goto dosexit
    rem retry flash (not for recovery mode)
    beep1
    beep1
    echo SYSTEM BIOS update reported errors
    echo.
    echo r : Retry SYSTEM BIOS update
    echo t : Terminate Flashupdate (default after 60 sec)
    choice /c:tr /t:t,60
    if errorlevel 2 goto step2
    if errorlevel 1 goto dosexit

rem ###### exit part; infinite loop for recovery flash #############
:dosexit
    berk
    testrec
    if errorlevel 1 goto dosexit

rem ###### end of file #############################################


Die geänderte Zeile funktioniert auch nicht.
Member: hesekaia
hesekaia Jul 15, 2009 at 07:38:10 (UTC)
Goto Top
Ja er ist C: sonst würde ja meine selbstgeschriebene Datei auch nicht klappen ;).

Nein das hast du falsch verstanden ich habe nur ein Floppy Emuliert um eine Startdiskette zu bekommen.

Stimmt danke, hab mitlehrweile so viel geändern und versucht ...


Gruß Hese
Member: empreality
empreality Jul 15, 2009 at 07:45:25 (UTC)
Goto Top
Was passiert wenn du das Batch manuell aufrufst ?
Member: hesekaia
hesekaia Jul 15, 2009 at 08:24:52 (UTC)
Goto Top
Mit @echo off blinkts kurz auf. Ohne schreibts halt alles der Reihe nach nach unten.

Aber in beiden fällen kann ichs nicht unter DOS aufrufen.
Member: empreality
empreality Jul 15, 2009 at 08:27:46 (UTC)
Goto Top
Die Programme die da aufgerufen werden wie beep1, testrec, berk etc sind in den Ordnern aber vorhanden?
Member: hesekaia
hesekaia Jul 15, 2009 at 08:33:08 (UTC)
Goto Top
Ja sind in dem Unterortner vorhanden, sind alles .exe.


edit:

Lösung:

1. Autoexec.bat sind von "Natur" aus versteckt, d.h. die Datei umbenennen reicht nicht, man muss eine neue erstellen und den Inhalt reinkopieren. Da sie versteckt war konnte ich sie auch nicht aufrufen.

2. Der zweite Fehler den ich gemacht habe, ist das ich . im Dateinamen verwendet habe, womit DOS nicht wirklich umgehen kann. Also statt BiosV1.21.bat BiosV121 und es funktioniert.

So um das rauszufinden habe ich jetzt Stunden verschwendet :D....


gruß hese
Member: hesekaia
hesekaia Jul 15, 2009 at 09:38:00 (UTC)
Goto Top
ups hier gibts ja nen bearbeiten butten ^^ sry