2016-12-17 119 views

回答

2

使用的中間計算屬性:

​​

注:

  • 此使用屬性輸出對象上而不是在可變攜帶所關注的值。

  • 在此過程中,它將通過管道傳遞的對象的類型更改爲類型[pscustomobject] - 添加了a屬性的自定義類型。這可能是也可能不是問題(而不是Format-Table管道有問題)。


相反,如果你的計劃是簡單地處理在ForEach-Object過程塊輸入對象,無論如何,你可以簡單地定義塊中的變量:

Get-ChildItem -Path *.txt* -Recurse | ForEach-Object { 
    $a=$_.Name; $a.Substring(0, $a.IndexOf('.txt')) 
} 

(作爲撇開:此示例命令並不嚴格需要輔助變量,因爲它可以更簡潔地表示爲:
Get-ChildItem -Path *.txt* -Recurse | ForEach-Object { $_.Name -replace '\.txt.*$' })。

+0

目標是在現有的計算屬性中使用它,其中許多依賴'$ _。Name.Length'而不必重複輸入。 – toolshed

+0

@toolshed:請參閱我的更新。 – mklement0

+0

我收到一個錯誤,可能是因爲我沒有引用變量。我想把'$ _。Name'綁定到一個臨時變量 - 讓我們把它叫做'$ a' - 這樣我就可以做如下的事情:'$ a.Substring(0,$ a .IndexOf(「。apx」))'而不是'$ _Name..Substring(0,$ _ Name.IndexOf(「。apx」))''。 – toolshed

相關問題