2016-11-28 9 views
0

以前は、ファイルとフォルダを共通名で追加し、合計サイズ(Sum of file folder size based on file/folder name)で合計することについて質問しました。これが正常に下回っPSスクリプトで答えた:CSV/ExcelへのPowerShell出力の受け渡し

$root = 'C:\DBFolder' 
Get-ChildItem "$root\*.mdf" | Select-Object -Expand BaseName | 
    ForEach-Object { 
    New-Object -Type PSObject -Property @{ 
     Database = $_ 
     Size  = (Get-ChildItem "$root\$_*\*" -Recurse | 
       Measure-Object Length -Sum | 
       Select-Object -Expand Sum )/1GB 
    } 
    } 

これは、デフォルトで「データベース」プロパティによって順序付けされたリストを私に残します。私はSort-Object接尾辞を使用して、喜びのない「サイズ」プロパティを使用しようとしました。私はまた、結果を混乱させてExport-Csvを使用しようとしました。

理想的には、このスクリプトの結果をExcel/CSVに渡して、複数のSQL Serverをリンス/リピートしてデータを照合し、Excel内で並べ替えることができれば、私は小さな暗い隅私が眠ることができるオフィスの

だけ明確にするため、出力はこの線に沿って探しています:

Database            Size 
--------            ---- 
DBName1            2.5876876 
DBName2            4.7657657 
DBName3            3.5676578
+0

「正確に*あなたは 'Sort-Object' /' Export-Csv'を使用しようとしましたか?実際の出力と希望する出力だけでなく、コードも表示します。 –

+0

私は自分の質問に答えました、私はExport-csv 'Pathname \ test.csv'でスクリプトの接尾辞を付けましたが、その直前にパイプ記号を追加していませんでした。再度、感謝します。 – KEW

答えて

0

OK、これは輸出-CSV機能を使用しているとき、私が見逃していた1つのパイプ文字でした。これは私の問題を解決しました。

$root = 'C:\DB\Databases' 
Get-ChildItem "$root\*.mdf" | Select-Object -Expand BaseName | 
    ForEach-Object { 
    New-Object -Type PSObject -Property @{ 
     Database = $_ 
     Size  = (Get-ChildItem "$root\$_*\*" -Recurse | 
       Measure-Object Length -Sum | 
       Select-Object -Expand Sum )/1GB 
    } 
    } | Export-Csv 'C:\Test\test.csv' 
関連する問題