Two asterisks in file path

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

\**\ 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"