Задача переименования конвейера папок с помощью azure devops YAML

#powershell #azure-devops #yaml #azure-pipelines

Вопрос:

У меня есть одна задача конвейера, как показано ниже, которая копирует файл с одной машины на другую в той же сети. Теперь после копирования мне нужно переименовать имя папки целевой машины, но я не нашел ничего, чтобы сделать то же самое. Кто-нибудь может помочь ?

 steps: 
- task: WindowsMachineFileCopy@2
  displayName: 'myapp'
  inputs:
    SourcePath: '$(sourcepath)'
    MachineNames: '$(servername)'
    AdminUserName: '$(name)'
    AdminPassword: '$(pwd)'
    TargetPath: '$(server)'
    CleanTargetBeforeCopy: true
    CopyFilesInParallel: true
 

Ответ №1:

Допустим , вы скопировали свои файлы в целевую папку, путь к $(target) которой был указан, и вы хотели переименовать эту папку во что-то, путь к $(newTarget) чему был указан . Вы можете добавить следующее после своей копии (если Powershell 7 отсутствует в агенте, который вы можете использовать powershell вместо pwsh :

 - pwsh: |
    Rename-Item $(target) $(newTarget)
  displayName: Rename Target Folder