したがって、フォルダ内にディレクトリ 00 ~ 99 のセットがあります。これらの各ディレクトリには、00 から 99 までの 100 個のサブディレクトリがあります。これらの各サブディレクトリには、何千もの画像があります。
私がやろうとしているのは、基本的に、平均ファイルサイズを計算している間に進行状況レポートを取得することですが、それを機能させることはできません. これが私の現在のクエリです:
get-childitem <MyPath> -recurse -filter *.jpeg | Where-Object { Write-Progress "Examining File $($_.Fullname)" true } | measure-object -Property length -Average
これにより、各ファイルが処理されるたびに更新されるバーが表示されますが、最終的には平均ファイル サイズ データが返されません。明らかに、Where-Object をハックして進行状況ステートメントを出力しようとするのはおそらく悪い考えです(tm)。
何百万もの画像があるため、このクエリの処理には明らかに非常に長い時間がかかります。get-childitem は、物事を正しく理解していれば、クエリ時間の大部分になるでしょう。私が欲しいものを手に入れるための指針はありますか?AKA、私の結果は理想的には次のようになります。
Starting...
Examining File: \00\00\Sample.jpeg
Examining File: \00\00\Sample2.jpeg
Examining File: \00\00\Sample3.jpeg
Examining File: \00\00\Sample4.jpeg
...
Examining File: \99\99\Sample9999.jpg
Average File Size: 12345678.244567
編集:次の簡単なオプションを実行できます:
get-childitem <MyPath> -recurse -filter *.jpeg | measure-object -Property length -Average
そして、ワークステーションから 1 日半かそこら離れるだけですが、それは少し効率が悪いようです =/