Veröffentlicht 23. November 200717 j 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?
25. November 200717 j @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---
25. November 200717 j Ist das [1]...[5] in dem find-Suchmuster ne interne Funktion von find, die die Anzahl der Zeilen ausgibt?
25. November 200717 j @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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.