• 1000 .
$InputFiles = Get-Item "$(build.artifactstagingdirectory)/Terraform/*.tf"
$OldString = "git::https://dev.azure.com"
$NewString = "git::https://$(System.AccessToken)@dev.azure.com"
Write-Host $NewString
$InputFiles | ForEach {
(Get-Content -Path $_.FullName).Replace($OldString, $NewString) | Set-Content -Path $_.FullName
}
Этот код работает с каталогом верхнего уровня, но не обрабатывает ни один из подкаталогов.
Я думал, что подстановка подстановки сработает, например,
$InputFiles = Get-Item "$(build.artifactstagingdirectory)/Terraform/**/*.tf"
но нет. Я не так уж силен в PowerShell и всегда считал его немного нелогичным, так что, возможно, это простая проблема для кого-то, кто к этому привык.