.NET Framework 4.5
FindUnderPath Task

Determines which items in the specified item collection have paths that are in or below the specified folder.

Parameters

The following table describes the parameters of the FindUnderPath task.

Parameter

Description

Files

Optional ITaskItem[] parameter.

Specifies the files whose paths should be compared with the path specified by the Path parameter.

InPath

Optional ITaskItem[] output parameter.

Contains the items that were found under the specified path.

OutOfPath

Optional ITaskItem[] output parameter.

Contains the items that were not found under the specified path.

Path

Required ITaskItem parameter.

Specifies the folder path to use as the reference.

UpdateToAbsolutePaths

Optional Boolean parameter.

If true, the paths of the output items are updated to be absolute paths.

Remarks

In addition to the parameters listed above, this task inherits parameters from the TaskExtension class, which itself inherits from the Task class. For a list of these additional parameters and their descriptions, see TaskExtension Base Class.

Example

The following example uses the FindUnderPath task to determine if the files contained in the MyFiles item have paths that exist under the path specified by the SearchPath property. After the task completes, the FilesNotFoundInPath item contains the File1.txt file, and the FilesFoundInPath item contains the File2.txt file.

<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>