У меня есть следующий INI-файл (с именем metrics.ini), содержащий одну запись, но в будущем в него может быть добавлено больше записей:
$DatabaseConnection_STR=MYSERVER\MYINSTANCE
Мне нужно проанализировать этот файл в переменной PowerShell. Я могу проанализировать строку следующим образом, но я не могу создать новую переменную $ DatabaseConnection_STR (основываясь на том, что было проанализировано из INI-файла). Я не хочу жестко кодировать $ DatabaseConnection_STR в моем скрипте - я бы лучше позволил сценарию понять это, чтобы он мог обрабатывать дополнительные переменные в будущем.
# This code assumes that no blank lines are in the file--a blank line will cause an early termination of the read loop
########################################
#
# Confirm that the file exists on disk
#
########################################
$IniFile_NME="C:\temp\metrics.ini"
dir $IniFile_NME
########################################
#
# Parse the file
#
########################################
$InputFile = [System.IO.File]::OpenText("$IniFile_NME")
while($InputRecord = $InputFile.ReadLine())
{
# Display the current record
write-host "`$InputRecord=$InputRecord"
write-host ""
# Determine the position of the equal sign (=)
$Pos = $InputRecord.IndexOf('=')
write-host "`$Pos=$Pos"
# Determine the length of the record
$Len = $InputRecord.Length
write-host "`$Len=$Len"
# Parse the record
$Variable_NME = $InputRecord.Substring(0, $Pos)
$VariableValue_STR = $InputRecord.Substring($Pos + 1, $Len -$Pos -1)
write-host "`$Variable_NME=$Variable_NME"
write-host "`$VariableValue_STR=$VariableValue_STR"
# Create a new variable based on the parsed information--**the next line fails**
`$Variable_NME=$VariableValue_STR
}
$InputFile.Close()
Есть идеи?