HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > 自作関数 Tips メニュー

04.指定したファイルの行数をカウントする

 
UPDATE:2008/05/02    
 



Get-Content コマンドレットは、ファイルに格納されているテキストなど、パスで指定された場所にある項目の内容を取得するコマンドレットですが、この結果をパイプを通してMeasure-Objectコマンドレットに渡すことで、ファイルの行数を取得することができるようになります。

Get-LineCount という関数を作成したので、下記に紹介します。

Get-LineCount

#===============================================================================
# Get-LineCount: 指定したファイルの行数を取得する
# Param:
# $filepath : 行数カウントを行うファイルのパス
#
# 使用例
# Get-LineCount Test.txt
#
# ヘルプを見る場合は
# Get-LineCount /?
#
# copyright HIRO's.NET(http://hiros-dot.net/)
#===============================================================================
function global:Get-LineCount
{
Param ([string]$filepath)

#ヘルプの参照か?
if ( $filepath -eq "/?" )
{
$helpmsg = @"
書式`r`n
Get-LineCount ファイル名
`r`n
使用例`r`n
#Test.txtの行数を取得
Get-LineCount `"Test.txt`"

#ヘルプを参照する
Get-LineCount /?

"@

Write-Host $helpmsg
return
}

$MeasureObject = Get-Content $filepath | Measure-Object
return $MeasureObject.count
}

使用方法はList1の通りです。

List1

PS C:\Users\HIRO> Get-LineCount "Test.txt"
12

ヘルプの表示は下記のようにします。

List2

PS > Get-LineCount -?