Auf einem Windows 7-Computer möchte ich auf schnelle Weise die Anzahl der Zeilen in allen Dateien in einer Verzeichnisstruktur für Dateien mit einer bestimmten Erweiterung ermitteln. Gibt es einen guten Weg, dies zu tun?
Auf einem Windows 7-Computer möchte ich auf schnelle Weise die Anzahl der Zeilen in allen Dateien in einer Verzeichnisstruktur für Dateien mit einer bestimmten Erweiterung ermitteln. Gibt es einen guten Weg, dies zu tun?
Antworten:
Powershell ist eine Option.
PS D:\Scratch\maweeras\superuser> dir -Recurse *.txt | Get-Content | Measure-Object -Line
Lines Words Characters Property
----- ----- ---------- --------
168
dir -Recurse *.txt
werden nur Verzeichnisse verarbeitet, deren Namen übereinstimmen *.txt
, und alle Dateien ausgegeben, die in diesen Verzeichnissen und deren Unterbäumen gefunden werden. Das OP wollte aber alle Verzeichnisse bearbeiten und dabei nur die passenden Dateien ausgeben *.txt
. Dazu würden Sie verwenden dir -Recurse -Include *.txt
.
Get-ChildItem
( dir
ein Alias von) gibt an, Get-ChildItem –Path "*.txt" -Recurse
dass nur "alle TXT-Dateien im aktuellen Verzeichnis und in den zugehörigen Unterverzeichnissen" abgerufen werden müssen. Link: technet.microsoft.com/library/hh849800.aspx
dir -Recurse -Include *.txt
scheint bei beiden Versionen die gewünschten Ergebnisse zu erzielen.
Um die Antwort von maweeras weiter oben zu erweitern (es tut uns leid, dass nicht genügend Wiederholungen zum Kommentieren vorhanden sind), können Sie nach mehreren Dateierweiterungen suchen, indem Sie ein durch Kommas getrenntes Array an -Include übergeben.
Also zum Beispiel:
dir -Recurse -Include *.ts,*.tsx -Exclude *node_modules* | Get-Content | Measure-Object -Line
Ich benutze das kostenlose und Lite-Tool http://www.locmetrics.com
Folgendes funktioniert in cmd:
for %f in (*.TXT) do find /v /c "" "%f"
Oder in einem [.bat]:
for %%f in (*.TXT) do find /v /c "" "%%f"