按照上述意見,你就把Format-Table
輸出到一個文本文件中。需要注意的是Format-Table
可能視覺結構在屏幕上,但僅僅是文本行。通過這樣做,你已經更難處理數據。
如果你只是想從Get-WMIObject
cmdlet的結果,一些屬性,使用Select-Object
這(在這裏給出的使用)將有效地過濾數據,你想要的屬性。
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE -ComputerName SERVERNAMEHERE |
Select-Object PSComputerName, IPAddress, Description, DNSDomain |
Export-Csv 'C:\temp\server.csv'
需要注意的是,我們能夠爲包括PScomputerName:
而不是寫文本到簡單的文件,你可以通過寫一個結構化的文件(即CSV)保存的數據的表格性質每行數據中的屬性,有效地爲您提供所需的額外數據列。
這麼多獲得的原始數據。你可以在所有的CSV數據讀取並再次將其寫出來的一種方式可能是這樣的:
Get-ChildItem *.csv -Exclude all.csv |
Foreach-Object {Import-Csv $_} |
Export-Csv all.csv
注意,我們排除輸出文件中的初始cmdlet來避免讀寫形式/到同一個文件不休。
如果你不擁有的奢侈品來收集數據再次,你需要的文件卷軸一體。假脫機文件一起與Get-Content
做了,這樣的事情:
Get-ChildItem *.txt -Exclude all.txt |
Foreach-Object {Get-Content $_ -Raw} |
Out-File all.txt
在你的情況,你想後綴的每一行,因爲你需要處理的文件線由行其tricker:
$files = Get-ChildItem *.txt
foreach($file in $files) {
$lines = Get-Content $file
foreach($line in $lines) {
"$line $($file.Name)" | Out-File all.txt -Append
}
}
如果您還沒有與格式表輸入/輸出字符串缺胳膊少腿你的數據,你可以添加在其中生成的文件腳本中的服務器名稱的屬性。 (然後將它們全部放入一個CSV文件中)。如果可能的話,返回並編輯該腳本,以便輸出正確的數據 - 或易於處理數據,而不是嘗試採用難以處理的輸出並使用它。 – TessellatingHeckler
這是生成您看到的輸出文件的powershell: Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled = TRUE -ComputerName SERVERNAMEHERE |格式 - 表格 - 屬性IP地址,說明,DNSDomain | Out-File c:\ temp \ server.txt – user3290171
不需要添加文件名列。 'all.txt'的全部內容來自通配符模式'* .txt'枚舉的最後一個文件,因爲'copy * .txt all.txt'根本不會像您認爲的那樣工作。 –