0
我有一个PowerShell函数Invoke-SqlParser
(使用GSP),它将提取SQL脚本中的表和列的列表。增强Get-ChildItem流水线数据
我想生成包含源文件的路径CSV文件,除了解析引擎的结果:
PS > gci '\\path\to\files' -Include *.sql -Recurse | Get-Content -raw | Invoke-SqlParser -Syntax 'oracle' | ConvertTo-Csv | Out-File ~\Desktop\Output.csv
期望的Output.csv
内容:
File Table Column
---- ----- ------
\\path\to\files\script0.sql table0 column0
\\path\to\files\script0.sql table1 column1
\\path\to\files\scriptB.sql tableB columnR
\\path\to\files\scriptB.sql tableC columnQ
是有没有办法将Invoke-SqlParser
函数中的内容添加到管道中,以便保留来自Get-ChildItem
Cmdlet的内容?还是我需要将它“插入”到解析引擎生成的管道中?
你说你有一个函数,难道你只是修改函数来传递数据通过正常输出(也许用开关)? – TheMadTechnician
是的,但我不确定正确的做法。此外,我只是添加'FullName'属性或整个'FileInfo'实例?由于脚本文件与其中的表和字段之间存在“一对多”关系,那么如何表示呢?也许'[PsCustomObject] @ {File = $ FileInfo; TableColumn = @()}'? – craig
没有看到'Invoke-SqlParser'函数,我不知道如何帮助你通过路径。 – TheMadTechnician