2017-05-29 7 views
0

私はそれがないsetParameters.xmlファイルのパスを見つけるために持っているPowerShellスクリプトをruningて、それいPowerShellスクリプトPowerShellの - Overiding引数Relase定義

とTFS 2017年にリリース定義を作成しようとしていますすべてのトークンを乗り越えると仮定しますが、ループを無視するだけで引数は同じです。

スクリプトコード:

$vars = Get-ChildItem -path env:* 

# read in the setParameters file 
$contents = Get-Content -Path $paramsFilePath 

# perform a regex replacement 

$newContents = ""; 
$contents | % { 
    $line = $_ 
    if ($_ -match "__(\w+)__") { 
     $setting = Get-ChildItem -path env:* | ? { $_.Name -eq $Matches[1] } 
     if ($setting) { 
      Write-Verbose -Verbose ("Replacing key {0} with value from environment" -f $setting.Name) 
      $line = $_ -replace "__(\w+)__", $setting.Value 
     } 
    } 
    $newContents += $line + [Environment]::NewLine 
} 

はなぜループがskipedているとどのようにそれがSetParameters.xmlファイルで引数を上書きするので、私はそれを修正することができますか?

+0

を交換するより効率的な方法だと思いますか?これはtfsにどのように関連していますか? – Clijsters

+0

私はリリース定義を作成しています。 TFSで... –

+0

ええ、それはのためのスクリプトです。しかし、あなたの質問_はtfsには関係しません。 – Clijsters

答えて

0

私はこのパワーシェルを捨てて、リリース定義でReplace Tokenステップを使用しました。

私はそのあなたの代わりにPowerShells組み込みのXML機能の正規表現置換を使用するのはなぜトークン

関連する問題