

powershellにて、iniファイル内で定義された変数を読み込むときにエラーが発生します。  
原因は、変数に代入した文字列にエスケープしていない`\`が含まれる事であることは理解しておりますが、  
iniファイル側を弄らずに`C:\hoge\fuga\piyo.exe`をそのまま文字列として読み込む方法はありますでしょうか。

  

settings.iniファイル内の記述

[code]

    SampleDir=C:\hoge\fuga\piyo.exe
    
[/code]

  

ps1ファイル

[code]

    $INI_PATH = @(Split-Path $script:myInvocation.MyCommand.Path -Parent).Trim()
    $INI_FILE = "settings.ini"
    $INI_FULLNAME = $INI_PATH + "\" + $INI_FILE
    
    $PARAMETER = @{}
    Get-Content $INI_FULLNAME | %{$PARAMETER += ConvertFrom-StringData $_}
    
[/code]

  

エラー内容

[code]

    ConvertFrom-StringData : 解析中 "C:\hoge\fuga\piyo.exe" - 認識されないエスケープ シーケンス \h です。
    発生場所 \\hvad02\Process\RPA\基幹システム\SQL\sha_m\sort.ps1:6 文字:45
    + ... et-Content $INI_FULLNAME | %{$PARAMETER += ConvertFrom-StringData $_}
    +                                                ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [ConvertFrom-StringData], ArgumentException
        + FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.ConvertFromStringDataCommand
    
[/code]

  

バージョン情報

PSVersion 5.1.22621.1778  
PSEdition Desktop  
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}  
BuildVersion 10.0.22621.1778  
CLRVersion 4.0.30319.42000  
WSManStackVersion 3.0  
PSRemotingProtocolVersion 2.3  
SerializationVersion 1.1.0.1


CC BY-SA 4.0
2023-09-14T08:18:15.430
96216
2023-09-14T08:18:15.430
56030
question
powershell
iniファイル内で定義された変数を読み込むときにエラーが発生する