不,我無法使用Export-CSV。 =)將分隔符添加到Out-File
問題:如何在使用Out-File
時添加自定義列分隔符?
原因:我基本上有一個多線程PowerShell腳本拉動信息導出到一個文件。使用Out-File
的作品,因爲它不鎖定文件,並且不需要按順序。但是,我需要能夠最終在Excel中打開它。我的想法是以某種方式使用Out-File
以特殊的分隔符導出數據,以便我可以在Excel中打開它。
我一直在研究超過一個小時,每一個類似的問題都被我的人解釋爲使用Export-CSV
,這是我無法做到的。
有些事情我已經試過
foreach($item in $info){
New-Object -TypeName PSCustomObject -Property @{
FolderName = "$($item.Feature1) #"
Owner = "$($item.Feature2) #"
AccessRights = "$($item.Feature3) #"
} | ft -hide | Out-File C:\Test.txt
使用#
作爲特殊的分隔符,但還有一百萬空行。
我也試過的事情類似:
| Select Feature1, Feature2, Feature3 | %{"$($_.Feature1)#", "$($_.Feature2)#", $_.Feature3} | out-file C:\Test.txt -Force -Append
但是經過和擴大了我不想擴展性能。
如果這不是最好的方式去做這件事,我肯定會對有用和可行的建議開放!
在此先感謝!
爲什麼不能使用'Export-CSV'?你故意限制自己,並且無故地讓生活更加艱難 – TheIncorrigible1
當你寫入文件時,無論如何,文件都被鎖定到其他進程。如果你有多個進程「隨機輪流」寫入這個文件,你仍然可以使用'Export-CSV';只要有對象,就用'-Append'開關將它導出。當對象的導出完成後,「Export-CSV」關閉並釋放文件。 –
'Export-CSV'在幾秒鐘內就失敗了,這是我嘗試的第一件事。如果您可以提供更好的方法來提供建議,以便從10個以上的線程同時運行,我非常樂意聽到它。我一直堅持這一點。 – Nick