2016-09-11 7 views
2

Iは、以下のコードを使用してiniファイルを解析しよう が、私は次のエラーを取得しています:PowerShellの解析エラー

new-variable : A variable with name 'FromConfig' already exists. + new-variable -name $Variable_NME -value $VariableValue_STR + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ResourceExists: (TB1_LKC_PATH:String) [New-Variable], SessionStateException + FullyQualifiedErrorId : VariableAlreadyExists,Microsoft.PowerShell.Commands.NewVariableCommand

$IniFile_NME="$PSScriptRoot\SanityTests\Config\ConfigToParse.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 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(1, $Pos -1) 
     $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 

     new-variable -name $Variable_NME -value $VariableValue_STR 
     get-variable -name $Variable_NME 
    } 
$InputFile.Close() 

をありがとう:)設定ファイルを追加

を:

PROJECT_TO_VALIDATE:J

FW_TESTED:LKC

FW_ALTERNATIVE:BKC

MW_TESTED:LKC

MW_ALTERNATIVE:BKC

TB1_TESTED:BKC

L_LKC_FW_PATH: "PathToFolder"

L_LKC_MW_PATH: "PathToFolder"

L_BKC_PATH: "PathToFolder"

J_LKC_FW_PATH: "PathToFolder"

J_LKC_MW_PATH: "PathToFolder"

J_BKC_PATH: "PathToFolder"

P_LKC_FW_PATH: "PathToFolder"

P_LKC_MW_PATH: "PathToFolder"

P_BKC_PATH : "PathToFolder"

TB1_LKC_PATH: "PathToFolder"

答えて

1

エラーは、間違っていることを説明しています。既に存在する変数を作成しようとしています。
重複したキーがある場合は.iniファイルを調べてください(質問に追加したい場合があります)。-Forceのように既存の変数を上書きしてください。

... 
New-Variable -Force -Name $Variable_NME -Value $VariableValue_STR 
... 
+1

それが動作します!どうもありがとうございました:) – Julia

0

は問題はこの行です:

新しい変数

-name $ variable_NME - 値$ VariableValue_STR

あなたは既に$のvariable_nmeという名前の変数を持って、新しい-variableコマンドであなたなしで-name variable_nmeを使用する必要があります$もちろん新しい名前をつけてください。

+1

これはすべての変数が同じ名前を持つので、元のエラーがさらに速くなる 'variable_nme'という名前の変数を作成することになります – DAXaholic

+0

多分私は自分自身を明確にしませんでした、 。 –