Su una macchina Windows 7, vorrei un modo rapido per determinare il numero di righe in tutti i file in un albero di directory, per i file di una determinata estensione. Esiste un modo pronto per farlo?
Su una macchina Windows 7, vorrei un modo rapido per determinare il numero di righe in tutti i file in un albero di directory, per i file di una determinata estensione. Esiste un modo pronto per farlo?
Risposte:
powershell è un'opzione.
PS D:\Scratch\maweeras\superuser> dir -Recurse *.txt | Get-Content | Measure-Object -Line
Lines Words Characters Property
----- ----- ---------- --------
168
dir -Recurse *.txtelaborerà solo le directory i cui nomi corrispondono *.txt, mentre emette tutti i file che trova in quelle directory e nei loro sottotitoli. Ma l'OP voleva elaborare tutte le directory mentre emetteva solo i file corrispondenti *.txt. Per farlo, useresti dir -Recurse -Include *.txt.
Get-ChildItem(che dirè un alias di) afferma che Get-ChildItem –Path "*.txt" -Recurseè tutto ciò che è necessario per ottenere "tutti i file .txt nella directory corrente e nelle sue sottodirectory". collegamento: technet.microsoft.com/library/hh849800.aspx
dir -Recurse -Include *.txtsembra avere i risultati desiderati su entrambe queste versioni.
Per espandere la risposta sopra maweeras (scusate, non abbastanza rep per commentare), è possibile cercare più estensioni di file passando un array delimitato da virgole a -Include.
Quindi per esempio:
dir -Recurse -Include *.ts,*.tsx -Exclude *node_modules* | Get-Content | Measure-Object -Line
Sto usando lo strumento gratuito e lite http://www.locmetrics.com
Il seguente funziona in cmd:
for %f in (*.TXT) do find /v /c "" "%f"
O in un [.bat]:
for %%f in (*.TXT) do find /v /c "" "%%f"