【问题标题】:How can I prevent the Powershell Invoke-sqlcmd truncating output at 80 columns?如何防止 Powershell Invoke-sqlcmd 截断 80 列的输出?
【发布时间】:2019-08-26 19:55:06
【问题描述】:

在 Powershell 中,Invoke-sqlcmd 将我的输出截断为 80 列

我已经尝试过这段代码,但第 80 列的内容仍然被截断

$ans=Invoke-Sqlcmd -ServerInstance $sqlServer -Database $MyDbName -Query $SQLSCRIPT -OutputAs DataTables |Format-Table -Property * -AutoSize | Out-String -Width 4096 | Out-File $FullPathReportFileName

我怎样才能使它不被截断并看起来像这样?:

【问题讨论】:

    标签: powershell invoke-sqlcmd


    【解决方案1】:

    输出是什么样的?它在屏幕上的样子是一种错觉。如果您使用管道格式列表或选择 -expand 属性,它可能会显示整个内容。你可能会喜欢这个设置:

    $formatenumerationlimit = 99
    

    或者增加窗口的大小。

    【讨论】:

    • 刚刚在问题中添加了一张图片
    • powershell是什么版本的?您可以尝试通过管道将其设置为 ft -autosize,或增加窗口的宽度。
    • 所以,我用更大的 powershell 窗口运行它,它运行良好。奇怪的是它是根据PS窗口的宽度来的。
    • $FormatEnumerationLimit,默认为4,决定了一个collection-valued property的多少元素显示在一个列中,这与@cashonly的问题无关。值得在答案中更清楚地说明,增加窗口的大小是有帮助的。
    猜你喜欢
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 2016-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多