我在我的 FinalBuilder 项目中添加了“执行 PowerShell 脚本”操作。手册说我可以使用以下语法访问 FinalBuilder 变量(在Specify Script
区域中输入):
$FBVariables.GetVariable("VarName")
但问题是$FBVariables
在我的情况下总是null
,我的意思是以下语句返回True
:
$FBVariables -eq $null
我不知道我做错了什么。
我在我的 FinalBuilder 项目中添加了“执行 PowerShell 脚本”操作。手册说我可以使用以下语法访问 FinalBuilder 变量(在Specify Script
区域中输入):
$FBVariables.GetVariable("VarName")
但问题是$FBVariables
在我的情况下总是null
,我的意思是以下语句返回True
:
$FBVariables -eq $null
我不知道我做错了什么。
$FBVariables
在操作中不可用Execute PowerShell Script
。
您将不得不使用Run Script
(或Execute Script
我认为的旧版本)操作,在Script Editor
选项卡中将语言设置为 Powershell,在这里您可以使用#FBVariables
http://www.finalbuilder.com/Default.aspx?tabid=456&aft=9647#10952
以下是 LogVariables Action 中包含的工作 PowerShell 脚本示例。我发现您不能将 PowerShell 操作与变量一起使用,因此我只使用了另一个操作并添加了一个脚本来将信息传入/传出 Powershell Commandlets。
Function ConvertNametoFolder([string]$FileName="VirtualServerInstanceName.web.config", [string]$FileSuffix="web.config")
{
[string]$Result = ""
if ($FileLen -ne "")
{
[int]$FileLen = $FileName.Length
[int]$SuffixLen = $FileSuffix.Length
$Result = $FileName
$Result = $FileName.SubString(0,($FileLen-$SuffixLen)-1)
# String join method (not safe)
#$Result = $Result + "\" + $FileSuffix
# .net Framework safe method for combining folder\file paths to Windows Standards.
$Result = [System.IO.Path]::Combine($Result, $FileSuffix)
}
Return $Result
}
$FileIn = $FBVariables.GetVariable("varWebConfigFilePath") # Passed-in at runtime
[string]$PathOut = ConvertNametoFolder $FileIn
$FBVariables.GetVariable("varIisSettingFile")
$FBVariables.SetVariable("varWebConfigFileDestinationPath", $PathOut)