2014-10-30 45 views
1

我想弄清楚如何合并行计数,获取添加到每个文件的循环。计数需要放入每个文件的页脚,因为它会检查它。另一个问题是计数需要包括页眉和页脚行的添加(即8行+ 1页眉+ 1页脚= 10)。我使用的代码在下面,我知道计算行数的代码是Get-Content $mypath | Measure-Object -Line | {$linecount = $_.Count},但我不知道如何正确合并它。有什么建议么?行数对于多个文件上的每个对象

Get-ChildItem $destinationfolderpath -REcurse -Filter *.txt | ForEach-Object -Begin { $seq = 0 } -Process { 
     $seq++ 
     $seq1 = "{0:D4}" -f $seq; $header="File Sequence Number $seq1" 
     $footer="File Sequence Number $seq1 and Line Count $looplinecount" 
     $header + "`n" + (Get-Content $_.FullName | Out-String) + $footer | Set-Content -Path $_.FullName 
} 

回答

1

所以该文件的内容加载到可变的环内,该变量执行您measure -line,加入2(标题行中的一个,一个用于页脚行),并丢弃到一个子-expression页脚...

Get-ChildItem $destinationfolderpath -REcurse -Filter *.txt | ForEach-Object -Begin { $seq = 0 } -Process { 
    $seq++ 
    $seq1 = "{0:D4}" -f $seq 
    $header="File Sequence Number $seq1" 
    $Content=Get-Content $_.FullName | Out-String 
    $footer="File Sequence Number $seq1 and Line Count $(($content|measure -line|select -expand lines)+2)" 
    "$header`n$Content$footer" | Set-Content -Path $_.FullName 
} 
+0

我可能是错的,但难道不'措施直插|选择-expand count'必须'措施直插|选择-expand lines' – Matt 2014-10-30 21:29:55

+0

我只是用OP的本质上是代码,我甚至没有再猜测它。我只是编辑了我的答案来纠正这一点。 – TheMadTechnician 2014-10-30 21:33:15

+0

很好,谢谢!我仍然需要弄清楚如何将$ Content格式化为“{0:D4}”-f,就像$ seq1中的一样,但这样更易于管理。 – Sheddy 2014-10-30 23:03:45