我有一个powershell脚本,用于读取远程服务器上的txt文件并将其导入SQL。
我希望能够跳过txt文件的前两行。我目前正在使用以下代码导入文件。 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
答案 0 :(得分:5)
为[DYNAMICFIELD_EMAIL_HASHED]
创建一个没有前两行的数组,然后使用数组的第一项作为列,如下所示:
$empfile
答案 1 :(得分:3)
只是快速的一个班轮
(Get-Content $empFile| Select-Object -Skip 2) | Set-Content $empFile
答案 2 :(得分:1)
对ReadLine()进行两次未使用的调用。像这样:
$datatable = new-object System.Data.DataTable
$reader = New-Object System.IO.StreamReader($empFile)
$reader.ReadLine()
$reader.ReadLine()
$columns = ($reader.ReadLine()).Split($empFileDelimiter)
...