Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Einträge in einer Datei zählen

Frage Entwicklung Batch & Shell

Mitglied: wiboma

wiboma (Level 1) - Jetzt verbinden

06.07.2010 um 23:33 Uhr, 9740 Aufrufe, 5 Kommentare

Hallo,
ich habe ein (hoffentlich) kleines Problem.

Ich möchte die Anzahl der Zeilen einer Textdatei mit Hilfe eines Batch-Programmes zählen.
ich habe etwas herumexperimentiert, konnte mein Problem aber nicht lösen

Mit der Anweisung:

for /f %%i in (datei.txt) do echo %%i

bekomme ich die Einträge in der Datei angezeigt. Das ist so auch ok.

mit der Anweisung

for /f %%i in (datei.txt) do set pp=%%i

wurde der letzen Eintrag der Datei der Variablen pp zugewiesen.

Das Zählen der Einträge habe ich dann mit der Anweisung:

set /a zz=0
for /f %%i in (datei.txt) do set /a zz=%zz%+1


probiert, was allerdings nicht funktionierte.
Die Variable zz hat unabhängig der Einträge/Zeilen in der Datei nur den Wert 1 angenommen.

Es wäre toll, wenn mir hier jemand weiterhelfen könnte.
Mitglied: Nottrott
07.07.2010 um 00:16 Uhr
Hi,

das Problem heißt verzögerte Erweiterung von Umgebungsvariablen, dein zz wird in der Schleife schon vor dem Ausführen der Zeile mit 0 ersetzt..
Umgehen kannst du das, indem du die cmd mit dem Parameter /V:ON aufrufst und das %zz% durch !zz! ersetzt.

Schönen Abend noch
Nottrott
Bitte warten ..
Mitglied: bastla
07.07.2010 um 00:26 Uhr
Umgehen kannst du das, indem du die cmd mit dem Parameter /V:ON aufrufst
... oder auch einfach mit einem
setlocal enabledelayedexpansion
Trotzdem erforderlich ist, dass Du
das %zz% durch !zz! ersetzt.
- Du könntest aber auch einfach
for /f %%i in (datei.txt) do set /a zz+=1
verwenden (wobei Leerzeilen jeweils nicht mitgezählt werden) ...
Alternativen zum "Selbstzählen" wären per "find" oder "findstr" zu realisieren:
for /f %%i in ('find /c /v "§§§§§"<datei.txt') do set /a zz=%%i
(wobei "§§§§§" für irgendeinen Suchbegriff steht, der in der "datei.txt" garantiert nicht enthalten ist - da wegen des "/v" alle anderen Zeilen gezählt werden, erhältst Du damit die Gesamtzeilenanzahl)
for /f "delims=:" %%i in ('findstr /n "^" datei.txt') do set /a zz=%%i
Hier werden alle Zeilen, die das Suchkriterium "^" (= hat einen Zeilenanfang ) erfüllen, nummeriert ausgegeben und jeweils die Zeilennummer in die Variable übernommen.

Die beiden letzten Varianten zählen auch Leerzeilen.

Grüße
bastla

P.S.: Willkommen im Forum, wiboma!
Bitte warten ..
Mitglied: wiboma
07.07.2010 um 08:03 Uhr
Ich bedanke mich für die schnelle Hilfe.

Funktioniert mit += prima.
Bitte warten ..
Mitglied: wiboma
07.07.2010 um 08:13 Uhr
Hallo,

ich bedanke mich für die schnelle Rückantwort.

BASTLA hat ebenfalls auf meine Anfrage geantwortet und eine einfache Lösung angeboten, mit: set /a zz+=1

das hat funktioniert.

Deine Lösung habe ich auch ausprobieren wollen, bin aber daran gescheitert, dass nach der Zeile

cmd /N:on

das DOS -Fenster mit Prompt erscheint, die folgenden Anweisungen in der Batch-Datei aber nicht mehr ausgeführt werden.

Die Batch bricht praktisch nach der Zeile cmd /N:on ab.

Wie kann man das umgehen ?
Bitte warten ..
Mitglied: pieh-ejdsch
07.07.2010 um 11:57 Uhr
Hi wiboma,

NICHT: /Nordpol
Sondern: /Viktor

gib mal im cmd Fenster

cmd /?
ein

und auch Willkommen im Forum

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Dateien mit dem aktuellen Datum Zählen
gelöst Frage von OlliMucMicrosoft Office3 Kommentare

Servus zusammen, ich hoffe sehr, dass mir mal wieder jemand helfen kann. Ich arbeite mit einem VBA-Makro bzw einer ...

Datenbanken
Alle Einträge zählen die einen bestimmten Status haben und diese einzeln anzeigen
Frage von tobmesDatenbanken1 Kommentar

Hi, wie der Titel schon verrät möchte ich in meiner Datenbank Einträge zählen und diese dann anzeigen. Hier mal ...

Batch & Shell
Dateien in einen Ordner zählen mit einer bestimmten Dateiendung
Frage von tommhiiBatch & Shell4 Kommentare

Hallo , ich hab da mal ne Frage ich möchte in einen bestimmten Ordner nur Dateien mit der Endung ...

Batch & Shell
Batch - Datei zählen wenn mehr als 1 dan fortfahren
gelöst Frage von BumbayayBatch & Shell6 Kommentare

Hallo zusammen, Ich brauche dringend Hilfe :) Hier die Situation: Ein Sono-Gerät legt Bilddateien (.tif) ab. Zusätzlich legt das ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 3 StundenBatch & Shell1 Kommentar

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 5 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 20 StundenMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 21 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Linux
OpenSource Groupware
Frage von FA-jkaLinux13 Kommentare

Hallo, ich suche eine Groupware als Alternative zum Exchange. Wesentliche Aufgaben sind die Handhabung von E-Mails (persönliche und gemeinsam ...

Server-Hardware
Braucht ein Server eine Grafikkarte?
gelöst Frage von lcer00Server-Hardware13 Kommentare

Hallo zusammen, habe gerade 3 Stunden gebraucht, um herauszubekommen, dass die Remotemanagement-Console von Intel (RMM4) nur funktioniert, wenn die ...