7

有没有办法在 PowerShell 中定义一个变量,所以当我打开一个新的 PowerShell 窗口时,它会保持相同的值?

我需要这个变量来保持它的值,因为我需要时不时地重新启动我的服务器,而且我不想丢失这些值。

4

5 回答 5

7

储藏:

$variable|export-clixml -path $Location

要检索:

$variable = import-clixml -path $Location

如果需要,可以将其放入函数中,例如:

function LoadTHEvariable($location)
{
    $global:variable = import-clixml -path $Location
}

$location 显然包含文件系统中您要存储变量的位置。

于 2012-01-13T18:41:38.097 回答
6

您可以将数据存储在 PowerShell Profile中。

于 2012-01-13T17:51:06.560 回答
3

考虑使用环境变量。

于 2012-01-14T10:28:45.943 回答
2

您是否考虑过存储变量的其他替代来源?PowerShell 中的变量通常只与 PowerShell 会话本身一样长。但是,PowerShell 可以轻松查询其他几个可以持续更长时间的源。特别是注册表和文件系统。

对于打算在重启后持续存在的变量,我会将其存储在注册表中,然后使用 PowerShell 查询该值(可能缓存在会话变量中)。

于 2012-01-13T17:52:25.450 回答
2

变量是一个容器,您可以创建告诉 powershell 您希望该容器成为一个文件。${c:\variableToKeep.txt} = '我想保留这个值'

每次您想获取里面的值时,只需调用变量 ${c:\variableToKeep.txt}

您可以将此文件放在共享文件夹中或在机器之间复制它,您可以在任何机器上读取和写入该变量。

于 2018-12-28T01:22:04.940 回答