0
我正在使用下面的sort命令刪除powershell腳本。它給我一個錯誤,因爲「系統集合字典條目不包含方法名稱子字符串」。我想寫Out_File中第9列/記錄的排序記錄,有誰能幫我解決這個問題嗎?
$collection.GetEnumerator() | sort Name| foreach {$_.substring(9)} | Out-File $SORTED_AUDIT -Encoding ascii
我正在使用下面的sort命令刪除powershell腳本。它給我一個錯誤,因爲「系統集合字典條目不包含方法名稱子字符串」。我想寫Out_File中第9列/記錄的排序記錄,有誰能幫我解決這個問題嗎?
$collection.GetEnumerator() | sort Name| foreach {$_.substring(9)} | Out-File $SORTED_AUDIT -Encoding ascii
你不說是什麼類型$collection
,但如果它是任何內建類型,那麼你可能不需要的GetEnumerator()調用,如Powershell的會自動的GetEnumerator在管道中的任何的IEnumerable 。
現在我將假設$collection
是具有屬性的對象的集合。它至少有一個屬性Name
,通過該屬性對其進行排序,並且至少有一個字符串屬性要刪除最後9個字符。在這種情況下,你需要採取的財產子,而不是$ _
$collection | sort Name | foreach { $_.string_property.substring(9) } | out-File $SORTED_AUDIT -Encoding ascii
如果你只是想通過神祕的字符串出文件,而不是整個對象,那麼你反而會使用Select-Object在您的foreach之前選擇屬性
$collection | sort Name | Select -Property string_property | foreach {$_.substring(9)} | Out-File etc.
如何定義$ collection? '$ collection.GetType()'的結果是什麼? – 2015-02-23 07:03:27