반응형
파워셸에서 속성 파일 읽기
file.properties가 있고 그 내용은 다음과 같습니다.
app.name=Test App
app.version=1.2
...
어떻게 하면 app.name 의 가치를 얻을 수 있습니까?
ConvertFrom-StringData를 사용하여 Key=Value 쌍을 해시 테이블로 변환할 수 있습니다.
$filedata = @'
app.name=Test App
app.version=1.2
'@
$filedata | set-content appdata.txt
$AppProps = convertfrom-stringdata (get-content ./appdata.txt -raw)
$AppProps
Name Value
---- -----
app.version 1.2
app.name Test App
$AppProps.'app.version'
1.2
powershell v2.0으로 실행 중인 경우 Get-Content에 대한 "-Raw" 인수가 누락되었을 수 있습니다.이 경우 다음을 사용할 수 있습니다.
C:\temp\Data의 내용입니다.txt:
환경=QGRZ
target_site=FSHHPU
코드:
$file_content = Get-Content "C:\temp\Data.txt"
$file_content = $file_content -join [Environment]::NewLine
$configuration = ConvertFrom-StringData($file_content)
$environment = $configuration.'environment'
$target_site = $configuration.'target_site'
탈출이 필요한 경우(예: 백슬래시가 있는 경로가 있는 경우) 솔루션을 추가하고 싶었습니다.
$file_content = Get-Content "./app.properties" -raw
$file_content = [Regex]::Escape($file_content)
$file_content = $file_content -replace "(\\r)?\\n", [Environment]::NewLine
$configuration = ConvertFrom-StringData($file_content)
$configuration.'app.name'
-raw 없이:
$file_content = Get-Content "./app.properties"
$file_content = [Regex]::Escape($file_content -join "`n")
$file_content = $file_content -replace "\\n", [Environment]::NewLine
$configuration = ConvertFrom-StringData($file_content)
$configuration.'app.name'
또는 한 줄 방식으로:
(ConvertFrom-StringData([Regex]::Escape((Get-Content "./app.properties" -raw)) -replace "(\\r)?\\n", [Environment]::NewLine)).'app.name'
Powershell 통합 방법이 있는지 모르겠지만 정규식으로 할 수 있습니다.
$target = "app.name=Test App
app.version=1.2
..."
$property = "app.name"
$pattern = "(?-s)(?<=$($property)=).+"
$value = $target | sls $pattern | %{$_.Matches} | %{$_.Value}
Write-Host $value
"테스트 앱"을 인쇄해야 합니다.
언급URL : https://stackoverflow.com/questions/20275525/read-a-properties-file-in-powershell
반응형
'programing' 카테고리의 다른 글
사이트가 HTTPS이지만 ERR_CLEARTEXT_NOT_PERMITED를 표시하는 웹 보기 (0) | 2023.08.21 |
---|---|
문자열에서 영숫자가 아닌 문자(공백 포함)를 제거하려면 어떻게 해야 합니까? (0) | 2023.08.21 |
java.sql.SQL 예외:잘못된 열 이름 (0) | 2023.08.21 |
E: gnupg, gnupg2 및 gnupg1이 설치되어 있지 않은 것 같습니다. 그러나 이 작업을 수행하려면 둘 중 하나가 필요합니다. (0) | 2023.08.21 |
Ajax jabber/XMPP 클라이언트 추천(실제 경험만 해당)! (0) | 2023.08.21 |