Search code examples
windowsmsbuildfilepath

What does two asterisks together in file path mean?


What does the following file path mean?

$(Services_Jobs_Drop_Path)\**\*.config

The variable just holds some path, nothing interesting. I'm a lot more concerned, what the hell the ** mean. Any ideas?

P.S. The following path is used in msbuild scripts, if it helps.


Solution

  • \**\ This pattern is often used in Copy Task for recursive folder tree traversal. Basically it means that all files with extension config would be processed from the all subdirectories of $(Services_Jobs_Drop_Path) path.

    MSDN, Using Wildcards to Specify Items:

    You can use the **, *, and ? wildcard characters to specify a group of files as inputs for a build instead of listing each file separately.

    • The ? wildcard character matches a single character.
    • The * wildcard character matches zero or more characters.
    • The ** wildcard character sequence matches a partial path.

    MSDN, Specifying Inputs with Wildcards

    To include all .jpg files in the Images directory and subdirectories Use the following Include attribute:

    Include="Images\**\*.jpg"