3

我在我的 FinalBuilder 项目中添加了“执行 PowerShell 脚本”操作。手册说我可以使用以下语法访问 FinalBuilder 变量(在Specify Script区域中输入):

$FBVariables.GetVariable("VarName")

但问题是$FBVariables在我的情况下总是null,我的意思是以下语句返回True

$FBVariables -eq $null

我不知道我做错了什么。

4

2 回答 2

3

$FBVariables在操作中不可用Execute PowerShell Script

您将不得不使用Run Script(或Execute Script我认为的旧版本)操作,在Script Editor选项卡中将语言设置为 Powershell,在这里您可以使用#FBVariables

http://www.finalbuilder.com/Default.aspx?tabid=456&aft=9647#10952

于 2011-11-23T17:53:59.633 回答
0

以下是 LogVariables Action 中包含的工作 PowerShell 脚本示例。我发现您不能将 PowerShell 操作与变量一起使用,因此我只使用了另一个操作并添加了一个脚本来将信息传入/传出 Powershell Commandlets。

Powershell 脚本

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)
于 2011-11-25T02:57:39.973 回答