分かりやすく、使いやすく。

ファイルとフォルダのどちらかを判定する方法

スポンサーリンク

PowerShell で FileInfo オブジェクトがファイルかフォルダ(ディレクトリ)かを見分けるには PSIsContainer を確認します。

PSIsContainer はフォルダの場合は true を、フォルダ以外の場合は false を返します。その為、 PSIsContainer の値に応じて条件分岐することで、ファイルとフォルダで異なる処理を実行することができます。

サンプルコードは次の通りです。

PowerShell(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 処理対象のフォルダ
$targetFolder = 'C:\temp\test';
 
# $targetFolder内のファイル・フォルダのリストを取得する。
$itemList = Get-ChildItem $targetFolder;
foreach($item in $itemList)
{
    # PSIsContainer でファイルかフォルダかを判定
    if($item.PSIsContainer)
    {
        # フォルダの場合の処理
        Write-Host ($item.Name + 'はフォルダです。'); 
    }
    else
    {
        # ファイルの場合の処理
        Write-Host ($item.Name + 'はファイルです。'); 
    }
} 
スポンサーリンク
スポンサーリンク