我要做的是读取.dat文件(或.txt),只读取第一行,然后将该信息导出到csv文件。
一切顺利,只是它没有发送我刚读过的数据,它会发送其他东西,例如长度或信息本身的属性。
这是我的代码:
$a = Get-content C:\Users\xxxxxx\Documents\Batchtutorial\text.dat -totalcount 1
$a | export-csv "C:\Users\xxxxxxx\Documents\Batchtutorial\newcsv.csv"
如果我显示变量$ a,它会显示文件第一行的信息,当导出时是来自数据的另一个数据或属性转而转到csv文件。
但是,这里有正在生成的信息:
'#' TYPE System.String
PSPath PSParentPath PSChildName PSDrive PSProvider ReadCount Length
C:\ Users \ ralcanta \ Documents \ Batchtutorial \ 141005_150210ReconciledTravelCurrentPeriod.dat C:\ Users \ ralcanta \ Documents \ Batchtutorial 141005_150210ReconciledTravelCurrentPeriod.dat C Microsoft.PowerShell.Core \ FileSystem 1 190
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:1)
将对象传递到Export-Csv
cmdlet时,对象的属性将导出为输出CSV的字段。如果您只想将输入文件的第一行写入CSV,那么最好使用Out-File
cmdlet:
Get-Content 'C:\your\input.txt' -TotalCount 1 | Out-File 'C:\your\output.csv'