永久PowerShell变量
问题描述:
有没有办法在PowerShell中定义一个变量,所以当我打开一个新的PowerShell窗口时,它会保持相同的值?永久PowerShell变量
我需要这个变量来保持它的价值,因为我需要不时重新启动我的服务器,而且我不想失去这些值。
答
您是否考虑过其他备用来源来存储变量? PowerShell中的变量通常只能保持与PowerShell会话本身一样长。但是还有其他几个PowerShell可以轻松查询的源代码,可以持续更长的时间。特别是注册表和文件系统。
对于意味着在重新启动时持续存在的变量,我会将它存储在注册表中,然后使用PowerShell来查询该值(可能缓存在会话变量中)。
答
要存储:
$variable|export-clixml -path $Location
要检索:
$variable = import-clixml -path $Location
假如把它放在一个功能,如果你想要的话,是这样的:
function LoadTHEvariable($location)
{
$global:variable = import-clixml -path $Location
}
$位置显然包含了地方在你想要存储变量的文件系统中。
什么是你存储在变量,你需要永远坚持下去? – JNK 2012-01-13 17:45:47
那么,我有一个变量,有一个目录下的文件列表。例如,我有一个名为$ directorysnapshot = dir -r'path'的变量,该变量具有该目录下所有文件的列表,并且我希望将其保留为同一列表。我无法在启动过程中每次重新定义该变量,因为一些文件可能自此发生变化 – GwFiles 2012-01-13 18:09:45