プロが教えるわが家の防犯対策術!

下記共有サーバーの管理で、以下の事を行いたいと思っています。
ファイル数が7万ほどあり、下記は例です。

<共有サーバー>
  │
  ├フォルダX───┬ファイル1
  │        ├ファイル2
  │        └ファイル3
  │
  ├フォルダY───┬ファイル4
  │        └ファイル5
  │
  ├フォルダZ───┬ファイル6
  │        └ファイル7

共有サーバーが逼迫し整理したいと思っています。
フォルダX、フォルダY、フォルダZを順番に右クリックしプロパティを開いた後
ファイル数、ファイルサイズを拾いたいです。
各グループ毎にフォルダX,フォルダY,フォルダZと別れていて
それぞれのファイル数とファイルサイズをまとめたいです。

Powershellを用いて、
$parent_folder =共有サーバーのパス
Get-ChildItem -Path $parent_folder -Recurse|・・・
とすると下位フォルダ等全パスが表示されます。
Get-ChildItem -Path $parent_folder |・・・
とすると、希望のフォルダのみが表示されますが、再帰せず
深い階層のデーターを合算できません。

希望は以下の通りです。
結果として、フォルダX、フォルダY、フォルダZ・・・
と共有サーバー直下のフォルダのみ表示したい。
その表示した、フォルダの合算ファイル数と合算ファイルサイズのみ表示させたい。

Powershellではできないのでしょうか。
検索してみましたが、希望する良い情報が見つけられませんでした。

良い方法がありましたら、お教えいただけますと助かります。
宜しくお願い致します。

A 回答 (2件)

PowerShell はさわっていないので直感として「こうしたらできないかな」という方向だけ.



指定したフォルダに対してそのフォルダの中にある全ファイルを再帰的にリストできれば, そこからファイル数を数えたりファイルサイズを求めることはできるはず. なので, そのようなことをするスクリプトを 1つ作っておいて, 「共有サーバー直下のフォルダ」に対して実行すればいいんじゃないかなぁ.
    • good
    • 0
この回答へのお礼

Tacosanさん ご回答ありがとうございます。
再帰的に全ファイルをリストにはできそうですね。
あとはそれを、ファイル数をカウントして、ファイルサイズを合計すると
希望の値が求められそうです。
私には少しハードルが高そうなので頑張って勉強して作成してみます。
お教えいただきありがとうございました!

お礼日時:2020/10/09 05:58

PowerShell ではない方法ならあります。



https://forest.watch.impress.co.jp/library/softw …
    • good
    • 0
この回答へのお礼

bx2さんご回答ありがとうございます。
実は、お教え頂いたソフトを事前に確認していまして、
excelへのエクスポートが非常に重く、不要な項目を除外する必要があり
かなり稼働がかかると判断し、やめた経緯があります。
私ももう少し調べてみます。
お教え頂きまして、ありがとうございました。

お礼日時:2020/10/08 21:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!