有没有办法在PowerShell中定义变量,所以当我打开一个新的PowerShell窗口时,它会保持相同的值?
我需要这个变量来保持它的价值,因为我不时需要重新启动我的服务器,而且我不想丢失这些值。
答案 0 :(得分:5)
存储:
$variable|export-clixml -path $Location
要检索:
$variable = import-clixml -path $Location
如果你想要它,可以把它放在一个函数中,例如:
function LoadTHEvariable($location)
{
$global:variable = import-clixml -path $Location
}
$ location显然包含文件系统中您要存储变量的位置。
答案 1 :(得分:4)
您可以将数据存储在PowerShell Profile。
中答案 2 :(得分:2)
考虑使用环境变量。
答案 3 :(得分:1)
您是否考虑过存储变量的其他替代来源? PowerShell中的变量通常只有PowerShell会话本身才会持久存在。但是,PowerShell可以轻松查询其他几个源,这些源会持续更长时间。特别是注册表和文件系统。
对于要在重新启动时保留的变量,我会将其存储在注册表中,然后使用PowerShell查询该值(可能是会话变量中的缓存)。
答案 4 :(得分:1)
变量是一个容器,您可以创建一个告诉powershell您希望该容器成为一个文件。 $ {c:\ variableToKeep.txt} ='我要保留此值'
每次您想获取内部值时,只需调用变量 $ {c:\ variableToKeep.txt}
您可以将此文件放在共享文件夹中或在计算机之间复制,并且可以在任何计算机上读写该变量。