次の方法で共有


FindUnderPath タスク

指定した項目コレクションの中で、指定したフォルダーの中にあるか、下にあるパスが含まれる項目を判断します。

パラメーター

FindUnderPath タスクのパラメーターの説明を次の表に示します。

パラメーター 説明
Files 省略可能な ITaskItem[] 型のパラメーターです。

Path パラメーターで指定したパスと比較する必要のあるパスのファイルを指定します。
InPath 省略可能な ITaskItem[] 型の出力パラメーターです。

指定したパスの下で見つかった項目が含まれます。
OutOfPath 省略可能な ITaskItem[] 型の出力パラメーターです。

指定したパスの下で見つからなかった項目が含まれます。
Path 必須の ITaskItem 型のパラメーターです。

参照として使用するフォルダー パスを指定します。
UpdateToAbsolutePaths 省略可能な Boolean 型のパラメーターです。

true の場合、出力項目のパスが絶対パスになります。

解説

上記のパラメーター以外に、このタスクは TaskExtension クラスからパラメーターを継承します。このクラス自体は、Task クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「TaskExtension Base Class」を参照してください。

次の例では、FindUnderPath タスクを利用し、MyFiles 項目に含まれるファイルに、SearchPath プロパティによって指定されるパスの下に存在するパスがあるか判断します。 タスク完了後、FilesNotFoundInPath 項目に File1.txt ファイルが含まれ、FilesFoundInPath 項目に File2.txt ファイルが含まれます。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <MyFiles Include="C:\File1.txt" />
        <MyFiles Include="C:\Projects\MyProject\File2.txt" />
    </ItemGroup>

    <PropertyGroup>
        <SearchPath>C:\Projects\MyProject</SearchPath>
    </PropertyGroup>

    <Target Name="FindFiles">
        <FindUnderPath
            Files="@(MyFiles)"
            Path="$(SearchPath)">
            <Output
                TaskParameter="InPath"
                ItemName="FilesFoundInPath" />
            <Output
                TaskParameter="OutOfPath"
                ItemName="FilesNotFoundInPath" />
        </FindUnderPath>
    </Target>

</Project>

関連項目