HIRO's.NET
PowerShell Tips
HIRO's.NETは http://hiros-dot.net へ引っ越しました。
このページの新しいURLは http://hiros-dot.net/PowerShell/file/file24.htm です。
ブックマークされている方はお手数ですが http://hiros-dot.net へ修正お願いいたします。


HOME > PowerShell Tips > ファイル操作 Tips メニュー
UPDATE:2008/02/15

24.ファイルの行数をカウントする

ファイルの行数をカウントするには Get-Contentコマンドレットと Measure-Obejctコマンドレットの組み合わせで行うことができます。

List1のように入力すると Test01.txt ファイルの行数を取得することができます。

List1

PS C:\Work> $(Get-Content  Test01.txt | Measure-Object).Count
2

上記を関数化してみたのが 下記の Get-LineCount.ps1 です。

使用方法は

Get-LineCount 行数をカウントするファイルのパス

です

Get-LineCoun.ps1

#===============================================================================
# Get-LineCount: 指定したファイルの行数を取得する
# Param:
# $filepath : 行数カウントを行うファイルのパス
#
# 使用例
# Get-LineCount Test.txt
#
# ヘルプを見る場合は
# Get-LineCount /?
#
# copyright HIRO's.NET(http://hiro.wankuma.com/)
#===============================================================================
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
}