0
我有一個包含兩個單獨部分的文本文件(下面的示例)。我想編寫一個powershell cmdlet,它將爲每個部分中的機器做一些不同的事情。一如既往,謝謝!Powershell - 閱讀文本文件的單獨部分
[Templates]
Computer1
Computer2
[Parents]
Computer3
Computer4
我有一個包含兩個單獨部分的文本文件(下面的示例)。我想編寫一個powershell cmdlet,它將爲每個部分中的機器做一些不同的事情。一如既往,謝謝!Powershell - 閱讀文本文件的單獨部分
[Templates]
Computer1
Computer2
[Parents]
Computer3
Computer4
這是我以前用過的東西。你可以使用它適合你的情況
$file = 'C:\temp\new 1.txt'
$contents = Get-Content $file | Out-String
$contents = [regex]::Split($contents, '\r\n\r\n')
$contents | ? {$_} | sort | % {
write-host this is a section
write-host $_
}
你能解釋這是如何工作的嗎? – Rico
get-content會自動將回車換行中的文件內容分割成一個數組,因此它被傳送到out-string,以便所有行都是單個字符串對象而不是字符串數組。那麼我們把所有東西都分成空行,這將是兩個回車換行符,一個緊接着另一個(\ r \ n \ r \ n),所以現在我們有一個字符串數組,重新尋找。 '? {$ _}'部分只是過濾掉它們之間有多條空行的空白部分,如果您不希望您的部分排序,則可以刪除該部分。 –
完美的解釋,謝謝安東尼! – Rico