最簡單的方法是將數組數據存儲在一個文件中:
# read array from file
$feature = @(Get-Content 'features.txt')
# write array back to file
$feature | Set-Content 'features.txt'
您可以使用$PSScriptRoot
獲取腳本文件的位置(這樣你就可以存儲在同一文件夾中的數據文件) 。在此之前的PowerShell v3可使用以下命令來確定包含腳本的文件夾:
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
另一種選擇是將數據存儲在註冊表中(更容易找到數據,卻多了幾分複雜的處理):
$key = 'HKCU:\some\key'
$name = 'features'
# read array from registry
$feature = @(Get-ItemProperty -Path $key -Name $name -EA SilentlyContinue | Select-Object -Expand $name)
# create registry value if it didn't exist before
if (-not $?) {
New-ItemProperty -Path $key -Name $name -Type MultiString -Value @()
}
# write array back to registry
Set-ItemProperty -Path $key -Name $name -Value $feature
您希望將數據添加到一次運行中,並且在隨後的運行中顯示爲仍然存在?聽起來就像你需要查看一個單獨的數據集,在每個運行之間保留所有可能的值。另外,'$ feature + = $ new_feature' – gravity
腳本不記得上次運行時發生了什麼。您必須在下次運行腳本時存儲任何想要使用的數據。 –