【问题标题】:Using glob pattern in azure file copy task在 azure 文件复制任务中使用 glob 模式
【发布时间】:2021-04-21 19:31:11
【问题描述】:

我有一个长的 windows 目录名称。我正在复制到另一个文件夹。我可以使用全局模式而不是使用子文件夹“PackageTmp”的完整路径吗?基本上 我想将所有文件和子文件夹从 PackageTmp 文件夹复制到另一个文件夹。它的Azure Copy file task

 Source Directory path : C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp
 Target Directory Path : C:\deploy
 Actual Target directory path : C:\deploy\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp

Azure 语法。 s.name 是可变的。

        inputs:
          SourceFolder: '$(Pipeline.Workspace)/${{ s.name }}/unzip/'
          Contents: '**/PackageTmp/**'
          TargetFolder: '$(Pipeline.Workspace)/${{ s.name }}/deploy/'
          CleanTargetFolder: true
          OverWrite: true

【问题讨论】:

  • 您在使用复制文件任务时是否遇到任何错误?复制文件任务支持文件匹配模式:docs.microsoft.com/en-us/azure/devops/pipelines/tasks/….
  • 我没有收到任何错误,C:\deploy\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp 是文件复制的位置,我期待C:\部署
  • 文件夹 PackageTmp 是否在 C:\deploy\Content\D_C\a\1\s\src\prj\obj\Release\PackageC:\deploy 中?
  • 更新问题,只想将“C:\unzip\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp”复制到“C:\deploy”但它正在复制到中间目录的“C:\deploy\Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp”值不断变化“Content\D_C\a\1\s\ src\prj\obj\Release\Package" 那么是否可以像 C:\unzip**PackageTmp* 一样使用

标签: azure-devops glob


【解决方案1】:

您需要像这样更改任务输入:

    inputs:
      SourceFolder: '$(Pipeline.Workspace)/${{ s.name }}/unzip/Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp'
      Contents: '**'
      TargetFolder: '$(Pipeline.Workspace)/${{ s.name }}/deploy/'

【讨论】:

  • 是的,看起来就是这样,但是我们可以避免给出完整路径,例如 unzip/Content\D_C\a\1\s\src\prj\obj\Release\Package\PackageTmp'
  • 恐怕我们无法避免完整路径,因为SourceFolder 参数不接受文件匹配模式,它无法识别$(Pipeline.Workspace)/${{ s.name }}/unzip/*/PackageTmp 之类的东西。
猜你喜欢
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
  • 2015-04-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
相关资源
最近更新 更多