Sur un ordinateur Windows 7, j'aimerais un moyen rapide de déterminer le nombre de lignes dans tous les fichiers d'une arborescence de répertoires, pour les fichiers d'une extension donnée. Y at-il un bon moyen de faire cela?
Sur un ordinateur Windows 7, j'aimerais un moyen rapide de déterminer le nombre de lignes dans tous les fichiers d'une arborescence de répertoires, pour les fichiers d'une extension donnée. Y at-il un bon moyen de faire cela?
Réponses:
Powershell est une option.
PS D:\Scratch\maweeras\superuser> dir -Recurse *.txt | Get-Content | Measure-Object -Line
Lines Words Characters Property
----- ----- ---------- --------
168
dir -Recurse *.txt
il ne traitera que les répertoires dont les noms correspondent *.txt
, tout en affichant tous les fichiers trouvés dans ces répertoires et leurs sous-arbres. Mais l'OP souhaitait traiter tous les répertoires en ne produisant que les fichiers correspondants *.txt
. Pour ce faire, vous utiliseriez dir -Recurse -Include *.txt
.
Get-ChildItem
(qui dir
est un alias de) indique que Get-ChildItem –Path "*.txt" -Recurse
c’est tout ce qui est nécessaire pour obtenir "tous les fichiers .txt du répertoire en cours et de ses sous-répertoires". lien: technet.microsoft.com/library/hh849800.aspx
dir -Recurse -Include *.txt
semble avoir les résultats souhaités sur ces deux versions.
Pour développer la réponse de maweeras ci-dessus (désolé, pas assez de représentants pour commenter), vous pouvez rechercher plusieurs extensions de fichier en passant un tableau délimité par des virgules à -Include.
Donc par exemple:
dir -Recurse -Include *.ts,*.tsx -Exclude *node_modules* | Get-Content | Measure-Object -Line
J'utilise l'outil gratuit et léger http://www.locmetrics.com
Les travaux suivants dans cmd:
for %f in (*.TXT) do find /v /c "" "%f"
Ou dans un [.bat]:
for %%f in (*.TXT) do find /v /c "" "%%f"