web-dev-qa-db-ja.com

Get-ChildItemリストのファイルサイズの追加

私の目標は、ネットワークドライブ上のすべての画像が占めるスペースを把握することです。

したがって、すべての画像のリストを取得する私のコマンドは次のとおりです。

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder

次に、ファイルサイズ(Length)を取得したいだけです。

Get-ChildItem -recurse -include *jpg,*bmp,*png \\server01\folder | Select-Object -property Length

今、これは出力します:

                                         Length
                                         ------
                                         85554
                                         54841
                                         87129
                                        843314  

なぜ右に配置されるのかわかりませんが、それぞれの長さを取得して、それらをすべて追加したいと思います。私は行方不明になり、私が知っているすべてのことを試しました(PSに慣れていないので大したことではありません)、Googleを検索しようとしましたが、関連する結果を見つけることができませんでした。

ヘルプまたは代替方法は大歓迎です!

14
user2517266

Measure-Objectコマンドレットを使用します。

$files = Get-ChildItem -Recurse -Include *jpg,*bmp,*png \\server01\folder
$totalSize = ($files | Measure-Object -Sum Length).Sum

サイズをGB単位で取得するには、値を1GBで除算します。

$totalSize = ($files | Measure-Object -Sum Length).Sum / 1GB
28
Ansgar Wiechers

これは、このような何かを持つ1つのライナーとして行うことができます。

Get-Childitem -path  "C:\Program Files\Internet Explorer" | Select-Object 
Name, @{Name="KBytes";Expression={ "{0:N0}" -f ($_.Length / 1KB) }}

Name          KBytes
----          ------
en-US         0
images        0
SIGNUP        0
ExtExport.exe 52
hmmapi.dll    53
iediagcmd.exe 500
ieinstal.exe  490
ielowutil.exe 219
IEShims.dll   398
iexplore.exe  805
sqmapi.dll    49
4
William Foster