読者です 読者をやめる 読者になる 読者になる

sorta kinda...

主にAWS関連ですが、これに限らずいろいろ勉強したことや思ったことを書いていきます。

du よりいい感じの結果を PowerShell で [cloudpack OSAKA blog]

ナスです。

昨年の夏に、Windows の du についての記事を書きました。(なぜか今まで書いた記事の中で一番アクセスが多いです。意外。)

nasrinjp1.hatenablog.com

PowerShell でちょっとしたスクリプトを書いてるパターンと、sysinternals のツールを使うパターンの 2 種類だと思ってましたが、日経 NETWORK 2017.01 号の p15 にワンライナーで du 相当のコマンドが紹介されていたので、実際にやってみました。しかも指定したサイズ以上のファイルをファイルサイズ順に並べ替えて表示できるのでいいですね。

AWS に、Windows Server 2016 を起動して、特に何も設定せずに試しています。

PS C:\Users\Administrator> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  576

C:\User 配下にテスト用のでかいファイルを作って、dir をかけた結果です。 f:id:nasrinjp1:20170115231254p:plain

Where-Object で 500 バイト以上のファイルだけを表示させてみました。

f:id:nasrinjp1:20170115231303p:plain

PS C:\Users\Administrator> Get-ChildItem -Path C:\Users -Recurse | Where-Object Length -ge 500 | Select-Object FullName,  Length | Sort-Object Length -Descending

FullName                                                                Length
--------                                                                ------
C:\Users\Administrator\testfile                                    10737418240
C:\Users\Administrator\Links\Downloads.lnk                                 978
C:\Users\Administrator\Desktop\EC2 Microsoft Windows Guide.website         554
C:\Users\Administrator\Desktop\EC2 Feedback.website                        527
C:\Users\Administrator\Links\Desktop.lnk                                   525

これだけできれば、この記事の最初に紹介した du ツールはいらないですね。時々、フリーのツールをインストールすることが禁止されている環境がありますが、PowerShell ならさすがにつかってもいいと思いますので、いろいろ試してみてください。