Uni184 Geschrieben 23. November 2007 Geschrieben 23. November 2007 Hallo Ich würde gern die Anzahl von Zeilen einer Datei in einer Variable einlesen (unter DOS, nicht in eienr DOS-Box). Eine Datei sieht beispielweise so aus (ist eine Ausgabe von "gdisk /status"): disk partitions cylinders ... 1 3 555 2 4 777 Wenn die Datei 2 Zeilen hat, möchte ich Befehl A ausführen. Wenn die Datei 3 Zeilen hat, möchte ich Befehl B ausführen. Wie geht das?
Uni184 Geschrieben 25. November 2007 Autor Geschrieben 25. November 2007 @echo on @gdisk2 /status >gd.ak1 @ find /n/v "dummystring" gd.ak1 | find "[5]" >nul if not errorlevel 1 goto platten4 @ find /n/v "dummystring" gd.ak1 | find "[4]" >nul if not errorlevel 1 goto platten3 @ find /n/v "dummystring" gd.ak1 | find "[3]" >nul if not errorlevel 1 goto platten2 @ find /n/v "No fixed disks" gd.ak1 | find "[2]" >nul if not errorlevel 1 goto platte1 @ find /n/v "dummystring" gd.ak1 | find "[1]" >nul if not errorlevel 1 goto platte0 @ echo fehler in programmlogik goto ende @ :platten4 @echo vier platten! @goto ende :platten3 @echo drei platten! @goto ende :platten2 @echo zwei platten! @goto ende :platte1 @echo eine platte! @goto ende :platte0 @echo null platten! @goto ende :ende @echo ---fertig---
lupo49 Geschrieben 25. November 2007 Geschrieben 25. November 2007 Ist das [1]...[5] in dem find-Suchmuster ne interne Funktion von find, die die Anzahl der Zeilen ausgibt?
Uni184 Geschrieben 25. November 2007 Autor Geschrieben 25. November 2007 ja, durch /n kommen die Nummern
Reinhold Geschrieben 25. November 2007 Geschrieben 25. November 2007 @echo on @gdisk2 /status >gd.ak1 @ find /n/v "dummystring" gd.ak1 | find "[5]" >nul if not errorlevel 1 goto platten4 @ find /n/v "dummystring" gd.ak1 | find "[4]" >nul if not errorlevel 1 goto platten3 @ find /n/v "dummystring" gd.ak1 | find "[3]" >nul if not errorlevel 1 goto platten2 @ find /n/v "No fixed disks" gd.ak1 | find "[2]" >nul if not errorlevel 1 goto platte1 @ find /n/v "dummystring" gd.ak1 | find "[1]" >nul if not errorlevel 1 goto platte0 @ echo fehler in programmlogik goto ende @ :platten4 @echo vier platten! @goto ende :platten3 @echo drei platten! @goto ende :platten2 @echo zwei platten! @goto ende :platte1 @echo eine platte! @goto ende :platte0 @echo null platten! @goto ende :ende @echo ---fertig--- Moin, in wie fern ist das die Lösung der Aufgabe? In welcher Variablen steht denn nun die Zahl? Gruß Reinhold (mehrfacher Träger der "goldenen Axt" als Haarspalter des Monats
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden