有没有办法在PowerShell中定义一个变量,这样当我打开一个新的PowerShell窗口时,它会保持相同的值?我需要这个变量保持它的值,因为我需要不时地重新启动我的服务器,我不想丢失这些值。
ztmd8pv51#
储存:
$variable|export-clixml -path $Location
检索:
$variable = import-clixml -path $Location
如果你需要的话,把它放在一个函数中,比如:
function LoadTHEvariable($location) { $global:variable = import-clixml -path $Location }
$location显然包含了文件系统中您想要存储变量的位置。
jm81lzqq2#
您可以将数据存储在PowerShell Profile中。
i7uaboj43#
请考虑使用环境变量。
b1zrtrql4#
您是否考虑过存储变量的其他替代源?PowerShell中的变量通常只保留PowerShell会话本身的时间。但是,PowerShell可以轻松查询其他几个保留时间更长的源。特别是注册表和文件系统。对于一个在重新启动后仍然存在的变量,我会将其存储在注册表中,然后使用PowerShell查询该值(可能缓存在会话变量中)。
gijlo24d5#
变量是一个容器,您可以通过创建来告诉powershell您希望该容器是一个文件。${c:\variableToKeep.txt} = 'I want to keep this value'每次要获取内部的值时,只需调用变量${c:\variableToKeep.txt}您可以将此文件放在共享文件夹中或在计算机之间复制它,并且可以在任何计算机上读取和写入该变量。
djmepvbi6#
要在启动的每个PowerShell会话中创建变量,请将变量添加到PowerShell配置文件中。可以通过在文本编辑器(如notepad.exe)中打开$PROFILE文件,将此命令添加到PowerShell配置文件中。(如果该文件不存在,请在变量指定的位置创建它。)https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_variables?source=recommendations&view=powershell-7.2#saving-variables
tkqqtvp17#
Add-Content cmdlet已经介绍过了。这里的星星是powershell配置文件,作为$profile[.host]访问,这是一个预定义的变量,指向用户状态信息(永久)存储在rom文件中的路径。末尾的-Force是关键,以便涵盖尚未创建$profile变量的情况。
Add-Content -Path $profile -Value $directorysnapshot -Force
7条答案
按热度按时间ztmd8pv51#
储存:
检索:
如果你需要的话,把它放在一个函数中,比如:
$location显然包含了文件系统中您想要存储变量的位置。
jm81lzqq2#
您可以将数据存储在PowerShell Profile中。
i7uaboj43#
请考虑使用环境变量。
b1zrtrql4#
您是否考虑过存储变量的其他替代源?PowerShell中的变量通常只保留PowerShell会话本身的时间。但是,PowerShell可以轻松查询其他几个保留时间更长的源。特别是注册表和文件系统。
对于一个在重新启动后仍然存在的变量,我会将其存储在注册表中,然后使用PowerShell查询该值(可能缓存在会话变量中)。
gijlo24d5#
变量是一个容器,您可以通过创建来告诉powershell您希望该容器是一个文件。${c:\variableToKeep.txt} = 'I want to keep this value'
每次要获取内部的值时,只需调用变量${c:\variableToKeep.txt}
您可以将此文件放在共享文件夹中或在计算机之间复制它,并且可以在任何计算机上读取和写入该变量。
djmepvbi6#
要在启动的每个PowerShell会话中创建变量,请将变量添加到PowerShell配置文件中。可以通过在文本编辑器(如notepad.exe)中打开$PROFILE文件,将此命令添加到PowerShell配置文件中。(如果该文件不存在,请在变量指定的位置创建它。)
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_variables?source=recommendations&view=powershell-7.2#saving-variables
tkqqtvp17#
Add-Content cmdlet已经介绍过了。这里的星星是powershell配置文件,作为$profile[.host]访问,这是一个预定义的变量,指向用户状态信息(永久)存储在rom文件中的路径。末尾的-Force是关键,以便涵盖尚未创建$profile变量的情况。