Format-Table

时间:2015-07-17 11:59:08

标签: powershell evaluation

我很难理解powershell中的pipline行为。

我想输出一个在我的脚本中每次返回时都会增长的表。当然这适用于MyFunction | Format-Table,但我想设置宽度。但这仅适用于PowerShell ISE。

  • PowerShell ISE:主要
  • 每次返回时输出
  • PowerShell:最后返回所有输出

PowerShell代码:

MyFunction | Format-Table @{Label="Prop1"; Expression={$_.Prop1};Width=10},  
                    @{Label="Prop2"; Expression={$_.Prop2};Width=14},  
                    @{Label="Prop3"; Expression={$_.Prop3};Width=10}
  • PowerShell ISE:Main的每次返回时的输出
  • PowerShell:Main的每次返回时的输出

PowerShell代码:

MyFunction | Format-Table 
  • PowerShell ISE:最后返回所有输出
  • PowerShell:返回结尾的所有输出

PowerShell代码:

MyFunction | Format-Table -AutoSizre

完整样本

function MyFunction
{
    $urls = "http://google.com", "http://theverge.com", "http://amazon.com", "http://wikipedia.org"

    foreach ($url in $urls)
    {
        $post = New-Object System.Object

        $perf = Measure-Command -Expression {
            try
            {
                $proxy = [System.Net.WebRequest]::DefaultWebProxy.GetProxy([uri]("http://google.com"))
                $post = Invoke-WebRequest -Uri $url -Proxy $proxy -ProxyUseDefaultCredentials
            }
            catch
            {
                $post | Add-Member -MemberType NoteProperty -Name StatusCode -Value "Error"
            }
        }

        $post | Add-Member -MemberType NoteProperty -Name Url -Value $url
        $post
    }
}

MyFunction | ft Url, StatusCode, RawContentLength

0 个答案:

没有答案