初心者向けのPowerShellコースを受講しています。インストラクターは、助けを求める際には全く役に立たないです。私がやろうとしているのは、コンピュータに.doc、.docx、.xls、または.xlsxファイル拡張子で終わるファイルを検索することです。 "File_Summary.txt"というテキストファイルにファイル名とサイズ(ファイル拡張子でグループ化して)を出力します。出力はまた、各ファイル拡張子の合計ファイル数と合計ファイルサイズで終わる必要があります。これまでに作成したコードは次のとおりです。Powershell Count各ファイル拡張子の合計ファイルサイズを含むファイル拡張子
$path = ".\"
$destination = "C:\Users\StayPositibve\Desktop\pleasework1.txt"
$results = Get-ChildItem .\* -Recurse | where {$_.extension -in ".doc",".docx",".xls",".xlsx"} | Select-Object Name, Extension, @{Name="Kbytes";Expression={ "{0:N0}" -f ($_.Length/1Kb) }}
$results | Sort-Object -Property extension | Out-File $destination
$countFiles = Get-ChildItem .\* -Recurse | where {$_.extension -in ".doc",".docx",".xls",".xlsx"}
$countFiles | Group-Object -Property extension | Out-File $destination -Append
コードは実行されます(ただし、ひどいコーディングだとは思いますが)。しかし、私は各エクステンションの合計ファイルサイズを一緒に加える方法を理解できません。私は各エクステンションの合計ファイル数を持っていますが、サイズの合計ではありません。誰でも私を与えることができる任意のおかげで、ありがとう!
私はあなたがループなしできちんとしたオプションを持っているとは思わない。私が考えることのできる最もクリーンなのは、 'Group-Object -Property Extension'を使ってそれを変数に格納し、' $ store | ForEach {$ _。名前; $ _。グループ| Measureオブジェクト - サムプロパティー長| -ExpandProperty Sum}を選択し、それが何であるかを見て、それをファイルに追加します。 (また、何かをする前に初めて基本的なGet-ChildItem呼び出しの結果を保存してから、結果を再利用し、ファイル数を再度検索するまで待つ必要はありません)。 – TessellatingHeckler