Variables 永久PowerShell变量

Variables 永久PowerShell变量,variables,powershell,permanent,Variables,Powershell,Permanent,有没有办法在PowerShell中定义一个变量,这样当我打开一个新的PowerShell窗口时,它将保持相同的值 我需要此变量来保持其值,因为我需要不时重新启动服务器,我不想丢失这些值。您可以将数据存储在PowerShell中。您是否考虑过存储此变量的其他替代源?PowerShell中的变量通常意味着仅在PowerShell会话本身的时间内保持不变。不过,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
}

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

考虑使用环境变量

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

每次你想要得到里面的值,只需调用变量 ${c:\variableToKeep.txt}


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

您究竟在存储哪些变量,以便永久保存?我有一个变量,其中包含目录下的文件列表。例如,我有一个名为$directorysnapshot=dir-r'path'的变量,该变量包含该目录下所有文件的列表,我希望保持该列表不变。我不能在每次启动时都重新定义这个变量,因为一些文件可能在启动后发生了更改,这通常是我所做的。我倾向于存储像svn URL之类的东西,因此我可以轻松地进行合并,例如,
svn merge-c 100$someBranchName
我有一个变量,其中包含目录下的文件列表。例如,我有一个名为$directorysnapshot=dir-r'path'的变量,该变量包含该目录下所有文件的列表,我希望保持该列表不变。我不能在每次启动时都重新定义这个变量,因为从那时起一些文件可能已经更改了。我有一个变量,它在目录下有一个文件列表。例如,我有一个名为$directorysnapshot=dir-r'path'的变量,该变量包含该目录下所有文件的列表,我希望保持该列表不变。我不能在每次启动时都重新定义该变量,因为一些文件可能在启动后发生了更改。@GwFiles如果需要持久化,那么为什么注册表不是一个好地方?结果可以持久化并在startupNote上重新加载:除非使用SETX设置,否则环境变量不会在重新启动期间持久化。