Powershellでスクリプトを作成する際に変数パラメータを別のファイルに切り出して利用する方法を試してみました。
準備
configファイルの作成
以下のようにconfigファイルを作成します。
{
"FileName": "hogehoge.txt",
"testText2": "Hello Test"
}
スクリプトの作成
configを参照する形でps1ファイルを作成します。
今回は、config内で指定したファイルに文字列 hogehoge を追記します。
#GetParameter
$UserName = $env:UserName
$ConfigPath = "C:\Users\$UserName\Desktop\test.conf"
$Config = Get-Content $ConfigPath | ConvertFrom-Json
$FileName = $Config.FileName
$AddText = $Config.testText2
# WhiteText
$AddText | Out-File -FilePath "C:\Users\$UserName\Desktop\$FileName"
実行と確認
上記のスクリプトを実行し、作成したテキスト(hogehoge.txt)を確認してみます。
PS C:\> $UserName = $env:UserName
PS C:\> powershell -ExecutionPolicy Unrestricted -File C:\Users\$UserName\Desktop\test.ps1
PS C:\>
PS C:\> Get-content C:\Users\$UserName\Desktop\hogehoge.txt
Hello Test
PS C:\>
5行目で Hello Test が表示されているのでスクリプトが正常に実行したことが分かります。
これでconfigファイルから変数パラメータを取得してスクリプトを実行することができました。