PowerShell Cmdlet - Test-Path
 記事記号:[mh1919] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Test-Path
    
概要
    パスのすべての要素が存在するかどうかを確認します。
    
構文
    Test-Path [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <
    string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {A
    ny | Container | Leaf}] [-UseTransaction] [<CommonParameters>]
    
    Test-Path [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[
    ]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {Any | Co
    ntainer | Leaf}] [-UseTransaction] [<CommonParameters>]
    
説明
    Test-Path コマンドレットは、パスのすべての要素が存在するかどうかを確認します。
    すべての要素が存在すれば TRUE ($true) を返し、不足している要素があれば FALSE 
    ($false) を返します。また、パス構文が有効かどうかと、パスがコンテナーまたは
    ターミナル (リーフ) 要素を指しているかどうかも示します。
    
パラメーター
    -Credential <PSCredential>
        この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既
        定値は現在のユーザーです。
        
        "User01" や "Domain01\User01" などユーザー名を入力します。または、Get-Cr
        edential コマンドレットで生成されるような PSCredential オブジェクトを入
        力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示
        されます。
        
        このパラメーターは、Windows PowerShell でインストールされるプロバイダー
        ではサポートされていません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Exclude <string[]>
        指定した項目を除外します。このパラメーターの値は、Path パラメーターを修
        飾します。"*.txt" などのパス要素またはパターンを入力します。ワイルドカー
        ドを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Filter <string>
        プロバイダーの形式や言語でフィルターを指定します。このパラメーターの値は、
        Path パラメーターを修飾します。ワイルドカードを使用できるかどうかなど、
        フィルターの構文はプロバイダーによって異なります。フィルターは他のパラメ
        ーターよりも効率が良い方法です。これは、オブジェクトを取得した後に Windo
        ws PowerShell がオブジェクトをフィルターするのではなく、オブジェクトを取
        得する際にプロバイダーがフィルターを適用するためです。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Include <string[]>
        指定したパスだけをテストします。このパラメーターの値は、Path パラメータ
        ーを修飾します。"*.txt" などのパス要素またはパターンを入力します。ワイル
        ドカードを使用できます。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -IsValid [<SwitchParameter>]
        パスの構文が正しいかどうかを判断します。パスの要素が存在するかどうかとは
        無関係です。このパラメーターは、パスの構文が正しい場合は TRUE を返し、そ
        うでない場合は FALSE を返します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -LiteralPath <string[]>
        テストするパスを指定します。Path と異なり、LiteralPath パラメーターの値
        は入力したとおりに使用されます。ワイルドカードとして解釈される文字はあり
        ません。パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。
        単一引用符で囲んだ文字はエスケープ シーケンスとして解釈されません。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -Path <string[]>
        テストするパスを指定します。ワイルドカードを使用できます。パスにスペース
        が含まれる場合は、二重引用符で囲みます。パラメーター名 ("Path") は省略可
        能です。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue, ByPropertyName)
        ワイルドカード文字を許可する false
        
    -PathType <TestPathType>
        パスの最終要素が特定の種類かどうかを示します。このパラメーターは、指定し
        た種類の要素である場合は TRUE を返し、そうでない場合は FALSE を返します。
        
        有効な値は次のとおりです。
        -- Container: ディレクトリやレジストリ キーのように、他の要素を含む要素
           です。
        
        -- Leaf: ファイルのように、他の要素を含まない要素です。
        
        -- Any: コンテナーまたはリーフのどちらかです。パスの最終要素が特定の種類
           かどうかを示します。指定した種類の要素である場合は TRUE を返し、そう
           でない場合は FALSE を返します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -UseTransaction [<SwitchParameter>]
        コマンドを有効なトランザクションに含めます。このパラメーターは、トランザ
        クションの進行中のみ有効です。詳細については、「about_Transactions」を参
        照してください。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.String
        パイプを使用してパス (リテラル パスではない) を含む文字列を Test-Path に
        渡すことができます。
    
出力
    System.Boolean
        このコマンドレットは、パスが存在している場合は "True" を返し、そうでない
        場合は "False" を返します。
    
メモ
        Path という名詞を含むコマンドレット (Path コマンドレット) は、パス名を操
        作し、すべての Windows PowerShell プロバイダーが解釈できる簡潔な形式の名
        前を返します。プログラムやスクリプトで、パス名の全部または一部を特定の形
        式で表示するために使用することを目的としています。Dirname、Normpath、Rea
        lpath、Join など、他のパス操作コマンドレットと同じように使用します。
        
         Path コマンドレットは、FileSystem、Registry、Certificate など、いくつか
        のプロバイダーで使用できます。
        
        Test-Path コマンドレットは、プロバイダーによって公開されているデータを使
        用するように設計されています。セッションで使用可能なプロバイダーの一覧を
        表示するには、「Get-PSProvider」と入力します。詳細については、「about_Pr
        oviders」を参照してください。
        
    -------------------------- 例 1 --------------------------
    
    C:\PS>test-path -path "C:\Documents and Settings\NicoleH"
    
    説明
    -----------
    このコマンドは、パス内の要素がすべて存在するかどうかを示します。要素とは、C: 
    ディレクトリ、Documents and Settings ディレクトリ、および NicoleH ディレクト
    リです。欠けているものがあれば、コマンドレットは FALSE を返します。それ以外
    の場合には、TRUE を返します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>test-path -path $profile
    
    C:\PS>test-path -path $profile -IsValid
    
    説明
    -----------
    これらのコマンドは、Windows PowerShell プロファイルのパスをテストします。
    
    最初のコマンドは、パス中のすべての要素が存在するかどうかを判断します。2 番目
    のコマンドは、パスの構文が正しいかどうかを確認します。この例では、パスは FAL
    SE となりますが、構文は正しく (TRUE) なります。これらのコマンドでは、自動変
    数 $profile を使用します。この変数は、プロファイルが存在しない場合も、その場
    所を指します。
    
    自動変数の詳細については、「about_Automatic_Variables」を参照してください。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>test-path -path "C:\CAD\Commercial Buildings\*" -exclude *.dwg
    
    説明
    -----------
    このコマンドは、Commercial Buildings ディレクトリに .dwg ファイル以外のファ
    イルがあるかどうかを示します。
    
    このコマンドは、Path パラメーターを使用してパスを指定します。パスにスペース
    が含まれているので、パスを引用符で囲みます。パスの末尾のアスタリスクは、Comm
    ercial Building ディレクトリの内容を表します (この例のようにパスが長い場合、
    パスの最初の数文字を入力して Tab キーを押すと、パスの全体が入力されます)。
    
    Exclude パラメーターを使用して、評価対象から除外するファイルを指定します。
    
    この場合、ディレクトリに含まれているファイルは .dwg ファイルのみなので、結果
    は FALSE です。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>test-path -path $profile -pathtype leaf
    
    説明
    -----------
    このコマンドは、変数 $profile に格納されているパスが、ファイルを指しているか
    どうかを示します。この場合、Windows PowerShell プロファイルは .ps1 ファイルな
    ので、コマンドレットは TRUE を返します。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsof
    t.PowerShell
    
    TRUE
    
    C:\PS> test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsof
    t.PowerShell\ExecutionPolicy
    FALSE
    
    説明
    -----------
    これらのコマンドは、Test-Path コマンドレットと共に Windows PowerShell レジスト
    リ プロバイダーを使用します。
    
    最初のコマンドは、Microsoft.PowerShell レジストリ キーのレジストリ パスが、シス
    テム上で正しいかどうかを判定します。Windows PowerShell が正しくインストールされ
    ている場合、コマンドレットは TRUE を返します。
    
    Test-Path はすべての Windows PowerShell プロバイダーに対して正常に機能するわけ
    ではありません。たとえば、Test-Path を使用してレジストリ キーのパスをテストでき
    ますが、レジストリ エントリのパスをテストすると、レジストリ エントリが存在して
    も常に FALSE が返されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113418
    about_Providers 
    Convert-Path 
    Split-Path 
    Resolve-Path 
    Join-Path 
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Test-Path
ご利用数: 1919667
感想・要望・問い合わせは こちら