0

I have the following file structure:

\RootFolder\
\RootFolder\SubFolder1\
\RootFolder\SubFolder1\SubfolderA\
\RootFolder\SubFolder1\SubfolderA\bin\
\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile1.txt
\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile2.txt
\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile3.txt
\RootFolder\SubFolder1\SubfolderA\bin\DontWantFile.txt
\RootFolder\SubFolder1\SubfolderA\obj\
\RootFolder\SubFolder1\SubfolderA\obj\MySameNameFile1.txt
\RootFolder\SubFolder1\SubfolderA\obj\MySameNameFile2.txt
\RootFolder\SubFolder1\SubfolderA\obj\MySameNameFile3.txt


\RootFolder\SubFolder2\
\RootFolder\SubFolder2\SubfolderB\
\RootFolder\SubFolder2\SubfolderB\bin\
\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile1.txt
\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile2.txt
\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile3.txt
\RootFolder\SubFolder2\SubfolderB\bin\DontWantFile.txt

\RootFolder\SubFolder2\SubFolder2\obj\
\RootFolder\SubFolder2\SubfolderB\obj\MySameNameFile1.txt
\RootFolder\SubFolder2\SubfolderB\obj\MySameNameFile2.txt
\RootFolder\SubFolder2\SubfolderB\obj\MySameNameFile3.txt


\RootFolder\SubFolder3\
\RootFolder\SubFolder3\SubfolderC\
\RootFolder\SubFolder3\SubfolderC\bin\
\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile1.txt
\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile2.txt
\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile3.txt
\RootFolder\SubFolder3\SubfolderC\bin\DontWantFile.txt

\RootFolder\SubFolder3\SubfolderC\obj\
\RootFolder\SubFolder3\SubfolderC\obj\MySameNameFile1.txt
\RootFolder\SubFolder3\SubfolderC\obj\MySameNameFile2.txt
\RootFolder\SubFolder3\SubfolderC\obj\MySameNameFile3.txt

I'm trying to get all "MySameNameFile*.*" files, but NOT the ones in the \obj\ directories.

What I've tried:

<PropertyGroup>
    <MyRootFolderVariable>.\RootFolder\</MyRootFolderVariable>
</PropertyGroup>

<Target Name="MyTarget">

    <ItemGroup>
        <MyExcludeFiles Include="$(MyRootFolderVariable)\**\obj\*.*" />
    </ItemGroup>

    <ItemGroup>
        <MyIncludeFiles Include="$(MyRootFolderVariable)\**\*MySameNameFile*.txt" Exclude="@(MyExcludeFiles)" />
    </ItemGroup>  

    <PropertyGroup>
        <BinFilesButNoObjFiles>@(MyIncludeFiles->'&quot;%(fullpath)&quot;' , ' ')</BinFilesButNoObjFiles>
    </PropertyGroup>  

    <Message Text="BinFilesButNoObjFiles=$(BinFilesButNoObjFiles)"/>
    <Message Text="   "/>
    <Message Text="   "/>

</Target>

Files I'm after:

\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile1.txt
\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile2.txt
\RootFolder\SubFolder1\SubfolderA\bin\MySameNameFile3.txt

\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile1.txt
\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile2.txt
\RootFolder\SubFolder2\SubfolderB\bin\MySameNameFile3.txt

\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile1.txt
\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile2.txt
\RootFolder\SubFolder3\SubfolderC\bin\MySameNameFile3.txt
granadaCoder
  • 26,328
  • 10
  • 113
  • 146

1 Answers1

0

I was close. Note the second "**" in the answer below.

 <MyExcludeFiles Include="$(MyRootFolderVariable)\**\obj\**\*.*" />
granadaCoder
  • 26,328
  • 10
  • 113
  • 146