HOWTO · PowerShell
PowerShell を使用してファイルサイズを KB で取得する方法
このチュートリアルでは、PowerShell を使用してファイルのサイズを KB 単位で取得する方法を教えます。
このページの内容
PowerShell は、システム内でさまざまなファイル操作を実行できる強力なツールです。PowerShell では、ファイルの作成、コピー、移動、削除、読み取り、名前変更、存在確認などのファイルタスクを実行できます。
Windows では、ファイルアイコンを右クリックしてプロパティオプションを選択することで GUI からファイルサイズを確認できます。しかし、時には PowerShell からファイルサイズを確認する必要があるかもしれません。
このチュートリアルでは、PowerShell を使用してファイルのサイズを取得する方法を説明します。
Get-Item メソッドおよび Length プロパティを使用して PowerShell でファイルサイズを取得する
ファイルオブジェクトには PowerShell の Length プロパティがあります。これはファイルのサイズをバイト単位で表します。
以下のコマンドは、train.csv ファイルのサイズをバイト単位で取得します。
# Getting the size of a file
$file = Get-Item "sample.txt"
$fileSize = $file.Length
Write-Host "The size of the file is $fileSize bytes"
sample.txt を希望のファイルのパスに置き換えます。
私たちのコードでは、最初に Get-Item を使用して sample.txt のファイルオブジェクトを取得します。ファイルオブジェクトが $file に取得できると、.Length プロパティにアクセスしてファイルのサイズをバイト単位で取得します。
最後に、Write-Host を使用してサイズをコンソールに出力します。このアプローチは、PowerShell のオブジェクト指向の特性を活用して、簡単にファイルプロパティにアクセスできるため、効果的です。
出力:
PowerShell でファイルシステムを扱う際は、ファイルのサイズを取得するだけでなく、KB(キロバイト)、MB(メガバイト)、GB(ギガバイト)などの人間が読みやすい形式で情報を提示する必要があることが多いです。PowerShell は、Get-Item を使用してバイト単位でファイルサイズを取得し、その後この値を大きな単位に変換することで、このプロセスを簡素化します。
# Getting and converting the size of a file
$file = Get-Item "sample.txt"
$fileSizeBytes = $file.Length
$fileSizeKB = $fileSizeBytes / 1KB
$fileSizeMB = $fileSizeBytes / 1MB
$fileSizeGB = $fileSizeBytes / 1GB
Write-Host "File size: $fileSizeBytes bytes, $fileSizeKB KB, $fileSizeMB MB, $fileSizeGB GB"
sample.txt を希望のファイルのパスに置き換えます。
このスクリプトでは、まず Get-Item を使用してファイルオブジェクトを取得します。次に、このオブジェクトの .Length プロパティにアクセスしてファイルサイズをバイト単位で取得します。
次に、このバイト値を KB、MB、GB に変換するための簡単な算術を実行します。最後に、すべてのサイズをユーザーフレンドリーな形で出力するために Write-Host を使用します。
出力:
Get-Item と Select-Object を使用して PowerShell でファイルサイズを取得する
そのようなタスクの一つが、ファイルサイズの取得です。PowerShell は、Get-Item と Select-Object を組み合わせることで、柔軟な方法を提供します。
Get-Item と Select-Object の組み合わせを使用して、ファイルサイズを含むファイルプロパティを取得します。このアプローチは、特定の情報(例:ファイルサイズ)をクリーンで読みやすい形式で抽出する必要がある場合に特に便利です。
# Getting the size of a file using Select-Object
$fileSize = (Get-Item "sample.txt" | Select-Object -ExpandProperty Length)
Write-Host "The size of the file is $fileSize bytes"
sample.txt をファイルパスに置き換えます。
私たちのスクリプトでは、まず Get-Item を使用して sample.txt のファイルオブジェクトを取得します。次に、このオブジェクトを Select-Object にパイプ(|)し、-ExpandProperty Length パラメーターを指定してファイルサイズをバイト単位で直接抽出します。
Write-Host を使用して、この情報をコンソールに出力します。この方法は、特にファイルに関する 1つの情報だけを興味がある場合、効率的で効果的です。
出力:
Get-ChildItem と ForEach-Object を使用して PowerShell でファイルサイズを取得する
Get-ChildItem と ForEach-Object を組み合わせることで、ディレクトリ内のファイルを列挙し、それぞれのファイルを個別に処理してそのサイズを取得します。このアプローチは、ディレクトリのサイズを監視するためのシステム管理や、ストレージ要件を評価するためのデータ管理、分析や監査目的のためのファイルサイズの詳細なレポートを作成する際に広く適用されます。
# Getting sizes of all files in a directory
Get-ChildItem "Directory\" | ForEach-Object {
$fileSize = $_.Length
Write-Host "$($_.Name) size: $fileSize bytes"
}
Directory\を希望のディレクトリパスに置き換えます。
私たちのスクリプトでは、Get-ChildItem を使用して Directory\ディレクトリ内のすべてのファイルを取得します。取得した各ファイルは次に ForEach-Object にパイプされます。
ForEach-Object スクリプトブロック内では、各ファイルオブジェクト($_)の Length プロパティにアクセスして、そのサイズをバイト単位で取得します。次に、Write-Host コマンドレットを使用して各ファイルの名前とサイズを出力します。
この方法は、複数のファイルを反復処理し、それぞれのサイズを個別に取得するのに効率的であり、詳細かつカスタマイズ可能な出力を可能にします。
出力:
Get-ChildItem と ForEach-Object を使用して PowerShell でファイルサイズを取得する
PowerShell のファイル操作コマンドレットを ForEach-Object と組み合わせることで、ファイルのサイズをタイプごとに効率的に計算できます。この方法は、ストレージ分析やデータの整理、レポート作成において、ファイルタイプとそれに対応するサイズが重要なシナリオで特に有益です。
この技術の主な目的は、ディレクトリ内のファイルを反復処理し、それらを拡張子でグループ化し、各ファイルタイプの合計サイズを計算することです。
# Calculating total file sizes by file type
Get-ChildItem "Directory" -Recurse | Group-Object Extension | ForEach-Object {
$totalSize = ($_.Group | Measure-Object -Property Length -Sum).Sum
Write-Host "Total size for $($_.Name) files: $totalSize bytes"
}
Directory を希望のディレクトリパスに置き換えます。
このスクリプトでは、まず Get-ChildItem を使用して Directory ディレクトリ内のすべてのファイルを取得します(サブディレクトリを含むために -Recurse を指定)。これらのファイルは次に、ファイル拡張子を使用して Group-Object でグループ化されます。
ForEach-Object コマンドレットは各グループを処理し、Measure-Object -Property Length -Sum を使用して各グループ内のすべてのファイルの合計サイズを計算します。
最後に、各ファイルタイプの合計サイズが Write-Host を使用して表示されます。この方法は、データを要約するのに効率的であり、ファイルサイズのタイプによる分布を明確に理解するのに役立ちます。
出力:
結論
結論として、この記事では、PowerShell を利用してさまざまなファイルサイズ関係の操作を行うための包括的なガイドを提供しました。Get-Item と Length プロパティを使用する方法、Select-Object と組み合わせた Get-Item、そして ForEach-Object との組み合わせによる Get-ChildItem を調査しました。
各方法は、可読可能な形式で単一ファイルのサイズを取得することから、ディレクトリ内の異なるファイルタイプのストレージ分布を分析することまで、特定の目的に合ったものです。
PowerShell に不慣れな方には、このチュートリアルがファイル操作やサイズ計算技術を理解するための明確な出発点となるでしょう。経験豊富なユーザーは、システム管理やデータ管理における詳細な例と実用的なアプリケーションを評価するでしょう。