【サマリ】
・xmlファイルの設定を読ませる時はWrite-HostではなくWrite-OutPut
・xmlの中身に""は必要なし
【詳細】
SQL Serverのバックアップを最初ps1に直書きで作ったのだけど、いくらps1クソ初心者でもこれは流石にイケてねぇなと思い
xmlを設定ファイル的に使おうと考えた。
$filename = ".\sql\sql_conf.xml" $conf_info = [xml](Get-Content $filename) $YourServerName=Write-Host $conf_info.config.YourServerName.value
しかし、なーんかうまくいかない。どうやら変数にちゃんと設定が入ってないっぽい。
もしかして、と思い
$YourServerName=Write-Output $conf_info.config.YourServerName.value
これでちゃんと入った。なるほどWrite-Hostでは駄目なのか。
続いてxmlの中身がなんか読めないなーと思ったら、
xmlの中身は""いらないのね… 外したら上手く行った。
<?xml version="1.0"?> <config> <YourServerName> <name>"YourServerName"</name> <value>"Win2012"</value> </YourServerName> <TargetDBName> <name>"TargetDBName"</name> <value>"NorthWind"</value> </TargetDBName> </config>
【参考にしたURL】
Write-HostとWrite-Outputの違い - しばたテックブログ
PowerShellからXML形式の設定ファイルの情報を読み込む - YOMON8.NET
以上