文件路径中两个星号在一起代表什么意思?

90

以下文件路径表示什么意思?

$(Services_Jobs_Drop_Path)\**\*.config

这个变量只是保存了一些路径,没什么有趣的内容。我更关心的是,** 是什么意思。

P.S. 如果有帮助的话,下面的路径在 msbuild 脚本中被使用。

1个回答

122

\**\ 这个模式通常在 复制任务 中用于递归文件夹树遍历。基本上它意味着所有扩展名为 config 的文件将从 $(Services_Jobs_Drop_Path) 路径的所有子目录中处理。

MSDN,使用通配符指定项

您可以使用 **、* 和 ? 通配符字符来指定一组文件作为构建的输入,而不是单独列出每个文件。

  • ? 通配符字符匹配一个字符。
  • * 通配符字符匹配零个或多个字符。
  • ** 通配符字符序列匹配部分路径。

MSDN,使用通配符指定输入

包括 Images 目录及其子目录下的所有 .jpg 文件 使用以下 Include 属性: Include="Images\**\*.jpg"

1
现在,这很有趣。谢谢你的回答。 - Arnthor
我在哪里可以获得关于Windows和*nix系统的完整说明?例如,留空前面与使用“./”之间的区别是什么? - Dois
1
@Dois,对于*nix风格的路径扩展,惯例是相当标准的,尽管不同的shell环境之间可能存在细节差异。如果您正在使用bash,则搜索bash路径扩展规范。如果您正在使用zsh或tcsh,则应搜索这些内容。经过大约一个小时的搜索,我在Windows路径扩展方面找不到太多标准,除了上面这个答案中提到的内容。 - kdbanman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接