我有一个PS脚本,用于替换配置文件(NLog配置文件)中的字符串。
问题在于NLog使用美元符号表示变量。.tfs也是如此。
这是我要通过的论点:
"\\myserver\logs\$(Release.ReleaseName)\issues\${shortdate}.log"
运行发行版时,出现以下内容:
fileName="\\myserver\logs\20181017.17\issues\.log"
我已经尝试了所有可以想到的方法,但是我无法使其正常工作。
答案 0 :(得分:1)
有趣的问题,我尝试了一些尝试,但也无法正常工作。
如果我用${shortdate}
:' '
传递变量,我就成功地自己传递了变量'${shortdate}'
。
作为解决方法,您可以传递2个变量:
1)'${shortdate}'
2)\\myserver\logs\$(Release.ReleaseName)\issues\_token_.log
并替换PowerShell脚本中的令牌:
Param(
$variable,
$string
)
Write-Output $variable
Write-Output $string
$fullString = $string.Replace("_token_",$variable)
Write-Output $fullString
它对我有用: