Zum Inhalt springen

DOS: Zeilenzahl in Variable holen


Uni184

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

@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---

Link zu diesem Kommentar
Auf anderen Seiten teilen

@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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...