gpt4 book ai didi

powershell - 使用 ref 关键字按引用传递变量

转载 作者:行者123 更新时间:2023-12-03 08:25:09 26 4
gpt4 key购买 nike

我尝试在 PowerShell 中通过引用传递 failedFlag:

函数调用:

$failedFlag = $false

$message += createMSSQLBak -failedFlag ([ref]$failedFlag) -serverName "X\X" -backupDirectory "D:\ms-sql-backup\backup\X" -daysToStoreBackups 90

函数原型(prototype):

function createMSSQLBak ([ref]$failedFlag, $serverName, $backupDirectory, $daysToStoreBackups)
{
[...]
$failedFlag = $true
[...]
}

$failedFlag 在我的函数之外始终为 false。

函数原型(prototype)或调用有问题吗?

最佳答案

Get-Help about_Ref 有一些有用的代码示例。他们使用 .Value 并没有真正提及它,但这是您在这里缺少的关键。

function createMSSQLBak ([ref]$failedFlag, $serverName, $backupDirectory, $daysToStoreBackups)
{
[...]
$failedFlag.Value = $true
[...]
}

那应该就可以了。事实证明,[ref] 实际上使它成为 System.Management.Automation.PSReference 类型的变量,这是一个只有一个属性的通用类。它在 MSDN 甚至 PowerShell 内部帮助中都没有很好的记录。

关于powershell - 使用 ref 关键字按引用传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27960766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com