가장 간단한 방법은 파일에 배열 데이터를 저장하는 것입니다 :
# read array from file
$feature = @(Get-Content 'features.txt')
# write array back to file
$feature | Set-Content 'features.txt'
당신은 스크립트 파일의 위치를 얻을 수
$PSScriptRoot
을 사용할 수 있습니다
(그래서 당신은 동일한 폴더에 데이터 파일을 저장할 수 있습니다) .
는 또 다른 옵션은 레지스트리에 데이터를 저장하는 것입니다
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
(쉽게 데이터를 찾을 수 있지만, 좀 더 복잡한 처리) : PowerShell을하기 전에 스크립트가 포함 된 폴더를 확인하려면 다음 명령을 사용 v3의
을
$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
스크립트는 마지막으로 실행 된 것을 기억하지 않습니다. 다음에 스크립트를 실행할 때 사용 가능하게하려는 모든 데이터를 저장해야합니다. –