这个函数如何返回整个字符串?

时间:2018-03-07 16:46:07

标签: powershell csv

我有一些要合并的CSV文件,所有这些文件都有相同的标题。我有一个函数可以抓取第一行(任何一个文件),另一个函数会跳过每个文件的第一行。

function getFirstLine() {
    Param(
        [string]$path
    )

    $reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $path
    $line = $reader.ReadLine()
    $reader.Close()
    return $line
}

function returnFile(){
    Param(
        [string]$path,
        [Int32]$skip
    )

    $reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $path
    for ($i=0; $i -lt $skip; $i++) {
        $reader.ReadLine()
    }
    $data = ''

    while ($reader.EndOfStream -eq $false) {
        $data += $reader.ReadLine() + "`n"
    }
    $reader.Close()
    return $data
}

我调用:$Data = returnFile -path $CSVs[$i] -skip 1$CSVsSystem.Collections.Generic.List[String]类型,包含文件的路径。

returnFile功能令我感到困惑。尽管跳过第一行,它返回整个字符串。我在调试之前已经确认,在我点击return之前,字符串$data不包含第一行。

这是我的PS版本:

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      16299  248

0 个答案:

没有答案