如何将变量存储到磁盘,以便下次运行PowerShell脚本时可以使用它们?

Sil*_*per 11 variables powershell

我想将一个变量存储到磁盘或注册表中,以便下次运行计划脚本时可以使用它?最好是一个或两个......

干杯,罗伊

Kei*_*ill 28

$foo | Export-CliXml foo.xml
Run Code Online (Sandbox Code Playgroud)

然后

$foo = Import-CliXml foo.xml
Run Code Online (Sandbox Code Playgroud)

请注意,如果$ foo表示活动对象,则在还原它时,您将只获取其属性.然而,类型信息或多或少地保留.例如,如果您保存了System.Diagnostics.Process对象,当您重新水化它时,您将拥有Deserialzed.System.Diagnostics.Process对象.

顺便说一句,如果你需要存储/检索多个变量,你可以这样做:

Get-Variable bla* | Export-Clixml vars.xml
Import-Clixml .\vars.xml | %{ Set-Variable $_.Name $_.Value }
Run Code Online (Sandbox Code Playgroud)

  • 如果您不需要完整类型信息,则其他选项包括Get-Content/Set-Content和Import-CSV/Export-CSV. (3认同)