簡體   English   中英

Powershell導入時跳過txt文件的前2行

[英]Powershell skip first 2 lines of txt file when importing it

我有一個 powershell 腳本,旨在讀取遠程服務器上的 txt 文件並將其導入 SQL。

我希望能夠跳過 txt 文件的前 2 行。 我目前正在使用下面的代碼來導入文件。 txt文件被分隔

$datatable = new-object System.Data.DataTable
$reader = New-Object System.IO.StreamReader($empFile)     
$columns = (Get-Content $empfile -First 1).Split($empFileDelimiter) 

    if ($FirstRowColumnNames -eq $true) 

        { 
            $null = $reader.readLine() 

        } 

    foreach ($column in $columns) 

        {  
            $null = $datatable.Columns.Add() 
        } 

    # Read in the data, line by line, not column by column 
    while (($line = $reader.ReadLine()) -ne $null)  

        { 

            $null = $datatable.Rows.Add($line.Split($empFiledelimiter)) 

column 參數采用 txt 文件的第一行,並為 PS 數據表創建列。

我遇到的問題是不需要 txt 文件的前兩行,我需要跳過它們並使用 txt 文件的第三行作為列。 我有以下代碼行可以做到這一點,但我不確定如何將它集成到我的代碼中。

get-content $empFile | select-object -skip 2 

$empfile創建一個沒有前兩行的數組,然后將數組的第一項用於列,如下所示:

$Content = Get-Content $empFile | Select-Object -Skip 2 
$columns = $Content[0].Split($empFileDelimiter)

只是一個快速的班輪

(Get-Content $empFile| Select-Object -Skip 2) | Set-Content $empFile

對 ReadLine() 進行兩次未使用的調用。 像這樣的東西:

$datatable = new-object System.Data.DataTable
$reader = New-Object System.IO.StreamReader($empFile)
$reader.ReadLine()
$reader.ReadLine()
$columns = ($reader.ReadLine()).Split($empFileDelimiter) 
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM