Согласитесь с Shayki, вы можете создать файл powershell ( .ps1 ) в репозиториях и вставить в него свой скрипт, чтобы добиться этого.А затем, используйте задачу powershell, чтобы выполнить скрипт, который в файле ps1.
Но, как вы сказали, вы хотите, чтобы он легко сохранялся в репозиториях.Нужно внести некоторые изменения в ваш скрипт:
Param(
[string]$RootPath,
[string]$File1,
[string]$File2,
[string]$NonLike1,
[string]$NonLike2
)
Get-ChildItem -Path $RootPath -Recurse -include $File1,$File2 |
Select -ExpandProperty FullName |
Where {$_ -notlike $NonLike1 -and $_ -notlike $NonLike2} |
sort length -Descending |
Remove-Item -Recurse -force
Первое изменение заключается в том, что вам нужно заменить жесткий код на переменную.Передавайте значение вместе с задачей, это хороший способ сохранить ваш сценарий.
Вторым важным изменением является добавление -Recurse
после Remove-Item
, иначе вы получите ошибку, показанную ниже, в то время как значение$ RootPath - это жесткий код, такой как 'C: \ Users \'.
Remove-Item: Windows PowerShell находится в неинтерактивном режиме.Функция чтения и подсказки недоступна.
И затем вы можете добавить задачу в конвейер сборки.Добавьте Script path
, где расположен файл .ps1 , и введите Аргументы со значением:
Если вы хотитедоступ $(System.DefaultWorkingDirectory)
, передать его $RootPath
.
Надеюсь, мой образец поможет вам достичь того, что вы хотите.