Globbing Patterns

Globbing Patterns

Cake supports globbing patterns for matching files and directories.

Wildcards

*

Matches zero or more characters.

GetFiles("./src/*.cs");

**

Matches directories recursively.

GetFiles("./src/**/*.cs");

?

Matches exactly one character.

GetFiles("./Test?.cs");

Character Matching

GetFiles("./folder/fooba[rz].txt");

Matches:

  • foobar.txt
  • foobaz.txt

Directories:

GetDirectories("./folder/fooba[rz]");

Brace Expansion

Files:

GetFiles("./**/*.{cs,json,txt}");

Directories:

GetDirectories("./**/^{obj,bin,lib}");

Matches:

  • obj
  • bin
  • lib

Examples

var files = GetFiles("./**/*.cs");
var directories = GetDirectories("./src/**/bin");