powershell - 如何从powershell中的配置文件中获取变量
问题描述
如何从 XML 中的配置文件中获取变量?
我实际上是使用 .txt 配置文件来执行此操作的。
有我的实际代码:
配置文件
[Repertoire de SPO (generalement C:\SPO)]
destinationn="C:\SPO"
[Nom du sous repertoire de SPO (generalement : SPO1)]
sous_destination="SPO1"
[Numero de la version de SPO vers laquelle vous souhaitez upgrade (par exemple : 1812.4)]
version="1812.4"
[Nom du pool dapplication lie a SPO (par defaut SPO_ADV)]
applicationPoolName="SPO_ADV"
[Chemin de livraison de la nouvelle version de SPO (par defaut \\path\to\somewhere)]
livraisonn="\\path\to\somewhere"
Powershell.ps1
Get-Content "$current_path\config.txt" | foreach-object -begin {$h=@{}} -process { $k = [regex]::split($_,'='); if(($k[0].CompareTo("") -ne 0) -and ($k[0].StartsWith("[") -ne $True)) { $h.Add($k[0], $k[1]) } }
$destinationn = $h.Get_Item("destinationn")
我想使用 .xml 配置文件做类似的事情。
解决方案
使用 PowerShell 解析 XML 要容易得多。请参阅以下带有注释的示例:
#Translated XML config
@'
<root>
<destinationn>C:\SPO</destinationn>
<sous_destination>SPO1</sous_destination>
<version>1812.4</version>
<applicationPoolName>SPO_ADV</applicationPoolName>
<livraisonn>\\path\to\somewhere</livraisonn>
</root>
'@ | Out-File YourSampleConfig.xml
#read xml file, skip root
$config = ([xml](Get-Content YourSampleConfig.xml)).root
#get <destinationn> value
$config.destinationn
推荐阅读
- asp.net-core - 如何在控制器操作上创建属性以检查用户是否有声明
- excel - 增加包含数字和文本的所有单元格值
- java - IllegalStateException 订阅主题、分区和模式是互斥的
- java - 如何将 maven 依赖项下载为 *.jar 文件?
- flutter - 相对于颤动中另一页的值,无法更改一个页面中的值
- python - VS Code for Python 脚本中的缩进错误
- database - MediaWiki 安装问题 - 端口问题
- javascript - 如何从对象数组中获取精确的 id?
- java - 像这样打印日期的 SimpleDateFormat 中的格式应该是什么 - 01-JUN-20 08.55.27.577984000 AM UTC?
- r - R中的循环,循环一个特定的ISIN以进行多个操作