Trojaner-Board

Trojaner-Board (https://www.trojaner-board.de/)
-   Alles rund um Windows (https://www.trojaner-board.de/alles-rund-um-windows/)
-   -   Programm gesucht das Zeilen ausliest (https://www.trojaner-board.de/94370-programm-gesucht-zeilen-ausliest.html)

macos 02.01.2011 05:24

Programm gesucht das Zeilen ausliest
 
Hab in einem Ordner viele txt dateien. Jetzt such ich ein Programm das aus den txt dateien die Anzahl der Zeilen rauslesen kann. kennt jemand so ein Tool?

Shadow 02.01.2011 10:40

Vollautomatisch über alle Dateien? Nein kenne ich nicht.
Und außerdem muss auch bei einer TXT-Datei eine Zeile ja nicht zwangsweise immer eine Zeile sein.
Variante 1: Je nach Betrachtungsprogramm variiert die Anzahl der Zeilen in Abhängigkeit von der im Programm vorgegebenen Zeilenbreite (oft abhängig vom Druckmedium) und/oder Schriftart und -größe.

Variante2: du zählst nur die "Carriage Returns" (CR) bzw. "line feeds" (LF) oder CRLF

Für einzelne TXT-Dateien mag dir ein ordentlicher Editor helfen (z.B. Notepad++), der die Zeilen-Anzahl links am Rand anzeigt, Zeilen können "beliebig" lang sein, oder Word, dort hast du allerdings das Problem des automatischen Zeilenumbruchs, es werden dir also die Zeilenanzahl angezeigt, so wie es bei einem Ausdruck (i.d.R. auf DIN A4) der Fall wäre.

ordell1234 02.01.2011 11:22

Unter google solltest du was zu "count lines vbs / bat" finden.

Beispiel einer Zaehler.bat, die du in den Ordner der txt-Dateien kopierst und von dort ausführst:

Code:

echo off
setlocal
del /q /s %tmp%\Zeilenanzahl.txt >nul
set /a nr=0

for /f %%i in ('dir /b *.txt') do call :Zeilennummer %%i
goto Textdatei

:Zeilennummer
for /f "delims=:" %%a in ('findstr . "%1"^|findstr /n .') do set /a nr=%%a
echo %1 - Zeilenzahl: %nr% >> %tmp%\Zeilenanzahl.txt
goto :eof

:Textdatei
c:\windows\notepad %tmp%\Zeilenanzahl.txt
pause
exit

Sollen Leerzeilen mitgezählt werden, musst nach Zeichen suchen, die garantiert nicht im Text enthalten sind, hier zB "waz3cnrz"

Code:

echo off
setlocal
del /q /s %tmp%\Zeilenanzahl.txt >nul
set /a nr=0

for /f %%i in ('dir /b *.txt') do call :Zeilennummer %%i
goto Textdatei

:Zeilennummer
for /f "delims=:" %%a in ('findstr /v "waz3cnrz" "%1"^|findstr /n .') do set /a nr=%%a
echo %1 - Zeilenzahl: %nr% >> %tmp%\Zeilenanzahl.txt
goto :eof

:Textdatei
c:\windows\notepad %tmp%\Zeilenanzahl.txt
pause
exit


cad 02.01.2011 11:37

Guten Morgen ordell,

hast Du das jetzt schnell selbst gebastelt oder gefunden? :daumenhoc
Danke schön, ich war noch am suchen :lach:

LG cad

ordell1234 02.01.2011 12:02

Moin cad, :kaffee:,

die batch stammt im Kern von diesem Schnipsel: Zeilenanzahl einer Datei ermitteln und einer Variable zuordnen womit spter beim choice Befehl Auswahloptionen gesetzt werden sollen - Batch & Shell - administrator

Anderes kam mir noch umständlicher vor. Bei massig Dateien mit vielen Zeilen ist die Laufzeit natürlich unter aller Sau... :pfeiff: Vermutlich kommt man mit vbs n bissl geschmeidiger daher.

cad 02.01.2011 12:19

Danke, ist vollkommend ausreichend :lach:
Ich war hier noch am suchen -> Links zu Visual Basic Tips und Tricks
Ich bin ne Niete darin, sowas komplett selbst zu schreiben. Sobald ich aber eine Vorlage habe, kann ich die weiter anpassen.
Bescheuert, ist aber so :o

macos 04.01.2011 02:14

Hab mir jetzt ein PHP Skript geschrieben das meine Ordner rekursiv ausliest und die Zeilenanzahl ermittelt.

ordell1234 04.01.2011 13:02

Zitat:

Zitat von cad (Beitrag 605175)
Ich bin ne Niete darin, sowas komplett selbst zu schreiben. Sobald ich aber eine Vorlage habe, kann ich die weiter anpassen.
Bescheuert, ist aber so :o

Warum bescheuert? Dafür ist das geballte Wissen anderer schließlich da! Zudem vergesse ich den Kram schneller als ich ihn erlerne. Keine guten Voraussetzungen, wenn ich geschätze 3 vbs-scripte im Jahr brauche. Sprich: Ich mach's genauso. :blabla:

@macos: Warum php? Hast du den Interpreter eh auf der Platte?

macos 04.01.2011 15:29

Jo, hab ich drauf
Hier mein Skript das ich geschrieben hab, man kriegt ne schöne Übersicht mit den Dateinamen, dateigröße, zeilenanzahl, und am ende die gesamtzeilenanzahl aller Dateien :applaus:
PHP-Code:

<?php
function dirRead($dir, &$fileinfo = array()) {
        if (
$handle dir($dir)) {
            while (
false !== ($file $handle->read())) {
                if (!
is_dir($dir.'/'.$file)) {
                    
$inhalt file($dir.'/'.$file);
                    
$fileinfo[] = array($filefilesize($dir.'/'.$file), count($inhalt));
                } elseif (
is_dir($dir.'/'.$file) && $file != '.' && $file != '..') {    
                    
dirRead($dir.'/'.$file$fileinfo);
                }
            }
            
$handle->close();
        }
        return 
$fileinfo;
}
$arr dirRead('pfad/zum/ordner');
echo 
"<pre>";
print_r($arr);
$lines 0;
foreach(
$arr as $key=>$val){
    
$a $val;
    
$lines += $a[2];
}
echo 
"<b>Lines insgesamt: ".$lines."</b>";
echo 
"</pre>";



Alle Zeitangaben in WEZ +1. Es ist jetzt 23:57 Uhr.

Copyright ©2000-2025, Trojaner-Board


Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19