使用 [$i] 变量创建 csv 列 - Powershell

使用 [$i] 变量创建 csv 列 - Powershell

我正在尝试从 connectionstrings.config 文件中获取信息并将其填充到 CSV 中。到目前为止,我有以下脚本:

$Filename = "C:\new.config"
[xml]$config = Get-Content $fileName

$CSCount = $config.connectionStrings.add.connectionString.count

[array]$CS = $config.connectionStrings.add.connectionString
$CScount = $CS.count
$CSCount
for($i=0; $i -lt $CScount; $i++)
{
    New-Variable -Name "CS$i" -Value $CS[$i]
    New-Variable -Name "Password$i" -value ($CS[$i].Split(';') | 
    ConvertFrom-StringData).'Password'
}


$table=@"
foreach ($C in $CSCount) { connectionstring[$i] }
$Password[$i]
"@
#export to a csv file
$table | Set-Content $home\desktop\test.csv

我被卡住并且不知道该怎么做的部分是如何使用 for [$i] 变量来使用位于 [$i] 变量中的数据创建不同的 CSV 列。因此,我正在检查我的文件有多少个连接字符串,然后使用此数组 # 来生成变量。然后,我去在 Powershell 中的不同列中填充这些变量。因此,array[0] 将有 Password[0]。我想过使用 foreach 循环,但没有成功。

请提供帮助或提出建议。非常感谢您的帮助。

答案1

无需手动创建 CSV,PowerShellConvertTo-CSVExport-Csvcmdlet 可以为您完成此操作!

如果我理解你的代码,这个示例应该简单如下:

$Filename = "C:\new.config"
[xml]$config = Get-Content $fileName
$config.connectionStrings | Export-Csv -Path $home\desktop\test.csv

相关内容