Windowsでディレクトリ内のすべてのコード行を再帰的にカウントする方法は?


21

Windows 7マシンでは、特定の拡張子のファイルについて、ディレクトリツリー内のすべてのファイルの行数をすばやく確認したいのですが。これを行うためのすぐに使える方法はありますか?


1
[Windowsでwc(Unixワードカウントコマンド)の同様のプログラムをご存知ですか?] [1] [1]:stackoverflow.com/questions/247234/…–

私はwcに精通しています。W7の同等物があればいいのにと思います。
キルブレイカー

@(quillbreaker)あります。すべてのLinux / Unixコマンドラインツールキットは、すべてのWindowsベースのプラットフォームで使用できます。gnuwin32.sourceforge.net
shawty

回答:


41

powershellはオプションです。

PS D:\Scratch\maweeras\superuser> dir -Recurse *.txt | Get-Content | Measure-Object -Line

Lines Words Characters Property
----- ----- ---------- --------
  168

1
上記が間違っている場合は、証拠と代替ソリューションを提供してください。その後、回答を削除/修正します。
マウィエラズ

2
あなたの答えは役に立ち、OPに受け入れられますが、OPの質問に正しく答えません。問題はソリューションの最初のコマンドにあります- dir -Recurse *.txt名前が一致するディレクトリのみを処理し*.txt、それらのディレクトリとサブツリーで見つかったすべてのファイルを出力します。しかしOPは、一致するファイルのみを出力しながら、すべてのディレクトリを処理することを望んでいました*.txt。それを行うには、を使用しますdir -Recurse -Include *.txt
シンナム

1
これは間違っています。WindowsのヘルプGet-ChildItemdirエイリアス)には、Get-ChildItem –Path "*.txt" -Recurse「現在のディレクトリとそのサブディレクトリ内のすべての.txtファイル」を取得するために必要なすべての情報が記載されています。リンク:technet.microsoft.com/library/hh849800.aspx
アンドリューリープ

@AndrewLeapもう一度テストしました。PowerShell4.0を搭載したWin8では、あなたの言うとおりに動作します。しかし、PowerShell 2.0を搭載したWin7では、説明した問題があります。dir -Recurse -Include *.txtこれらのバージョンの両方で望ましい結果が得られるようです。
シンナム

誰かがこれを使用して* .txtと* .javaの両方(合計)をチェックインするにはどうすればよいですか?
ジェレミーモリッツ

3

上記のmaweerasの回答を展開するには(コメントするのに十分な担当者ではありません)、-Includeにコンマ区切りの配列を渡すことで、複数のファイル拡張子を検索できます。

たとえば、次のとおりです。

dir -Recurse -Include *.ts,*.tsx -Exclude *node_modules* | Get-Content | Measure-Object -Line


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.