LoginSignup
3

More than 3 years have passed since last update.

posted at

updated at

PowerShellで大きいサイズのファイルをリストアップ!!

PowerShellとは

PowerShellはWindowsのシェル言語です。
従来コマンドプロンプトが担っていた役割は、徐々にPowerShellに移行されています。
加えてActiveDirectoryやExchangeといったミドルウェアの管理や
office365やAzure等のパブリッククラウドをPowerShellを用いたコマンドレットで指示を出せます。
最近では「.NET Core」としてLinuxへの環境でも動くようになっています。

PowerShellの基本部分

PowerShellの参考書を読むと、一番最初に出てくるコマンドレットは以下のようなものです。

GetChildItem.ps1
Get-ChildItem -Path 'C:\Users\xxxx' #ダブルクオーテーション内にフォルダを指定#

動詞+指示対象の組み合わせがPowerShellのコマンドレットの基本的な構成です。

動詞部分には、「Add」「New」「Make」「Export」等があります。

Visual Studio CodeにPowerShellの拡張機能をインストールすれば、
インテリセンスでコード補完してくれます。
「New...」と入力すると、その後に続く候補のコマンドがレコメンドされます。

1.gif

サイズが大きいファイルを一覧で出力する

冒頭でPowerShellのポテンシャルに触れましたが、ActiveDirectoryに日常的に関わる人はそう多くありません。
PowerShellの可能性を多くの方に知ってもらいたいので、私自身がよく使うスクリプトを紹介します。

今回は簡単にファイルをリストアップして、サイズの大きい順にCSVに出力する例を以下に示します。
PCに蓄積した不要なファイルを棚卸しする目的で時々実行するととても便利です。

GetFileSize.ps1
$Directory = "C:\Users\xxxx" #検索先ディレクトリ
$Output = "C:\Users\xxxx" #csv出力先フォルダ
$GetDate = Get-Date -Format "yyyy年MM月dd日"

Get-ChildItem -Path $Directory -Recurse -File `
  | Select-Object Name,Extension,Length,FullName,CreationTime,LastWriteTime `
  | Sort-Object -Descending Length `
  | Export-Csv -Path "$Output\Output_$GetDate.csv" -NoTypeInformation -Encoding Default -Append

今後も定期的にPowerShellの情報を発信していきます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3