文件路径中的两个星号


74

以下文件路径是什么意思?

$(Services_Jobs_Drop_Path)\**\*.config

变量只保留一些路径,没有什么有趣的。我更担心的是什么**意思。有任何想法吗?

PS如果有帮助,则在msbuild脚本中使用以下路径。

Answers:


99

\**\此模式通常在“复制任务”中用于递归文件夹树的遍历。基本上,这意味着所有带有扩展名的文件config都将从$(Services_Jobs_Drop_Path)path的所有子目录中进行处理。

MSDN,使用通配符指定项目

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

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

MSDN,使用通配符指定输入

要将所有.jpg文件包括在Images目录和子目录中,请使用以下Include属性:

Include =“ Images \ ** \ *。jpg”


1
现在,这很有趣。感谢你的回答。
Arnthor 2011年

对于Windows和* nix系统,我在哪里可以获得所有这些的完整描述?(例如,将前空白留空与使用“ ./”之间的区别)
Dois 2015年

1
@Dois,约定是* nix样式的路径扩展的相当标准,尽管不同的shell环境之间的细节可能有所不同。如果您使用的是bash,请搜索bash路径扩展规范。如果您使用的是zsh或tcsh,请搜索这些内容。经过一个小时左右的搜索,除此答案中的上述内容以外,我在Windows标准上找不到更多关于路径扩展的信息。
kdbanman
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.