Я пытаюсь настроить задачу DeleteFiles, чтобы удалить все DLL-файлы, начинающиеся с 'ab', за исключением указанного c.
Например, если у меня есть:
abfile.one.dll
abfile.two.dll
abotherfile.dll
System.Stuff.dll (there are 20-30 of these that need to be included)
abdontdeleteme.dll
Я ожидаю, что в результате файлы:
System.Stuff.dll
abdontdeleteme.dll
Я пробовал кучу различных конфигов, но ни один не работал. Конфиг, который я считал наиболее подходящим, был:
- task: DeleteFiles@1
displayName: 'Cleanup Assemblies'
inputs:
sourceFolder: ${{parameters.theDirectoryToCleanup}}
contents: ab*.dll !abdontdeleteme.dll
Этот конфиг ничего не делает. Устанавливая System.Debug
в true
и глядя на вывод, я вижу:
##[debug]pattern: 'D:/a/1/b/api/bin/ab*.dll !abdontdeleteme.dll'
##[debug]applying include pattern against original list
##[debug]0 matches
##[debug]0 final results
Я также пытался с ab*.dll
, который работал, но удалял одну DLL, которая мне нужна. Есть ли способ исключить указанный c файл из списка совпадений?
Редактировать
Согласно предложению в комментариях, я попробовал следующее к тому же Результаты (файлы не были удалены):
- task: DeleteFiles@1
displayName: 'Cleanup Assemblies'
inputs:
sourceFolder: ${{parameters.theDirectoryToCleanup}}
contents:
ab*.dll
!abdontdeleteme.dll
Редактировать 2
Я попробовал следующее:
- task: DeleteFiles@1
displayName: 'Cleanup Assemblies'
inputs:
sourceFolder: ${{parameters.theDirectoryToCleanup}}
contents: |
ab*.dll
!(abdontdeleteme.dll)
Это удаляет все, кроме ' abdontdeleteme.dl '
- task: DeleteFiles@1
displayName: 'Cleanup Assemblies'
inputs:
sourceFolder: ${{parameters.theDirectoryToCleanup}}
contents:
ab*.dll
!(abdontdeleteme.dll)
Это снова ни к чему не приводит и ничего не удаляется.