powershell将变量导出到txt文件

时间:2019-05-24 18:15:34

标签: string powershell variables parameters output

我需要像这样在txt文件的一行中提取一个变量;

Write-Host "Select RDS Collection to migrate"
$AllCollections.Keys | Sort-Object | ForEach-Object { Write-Verbose "[$_] - $($AllCollections.$_)" -Verbose }
Write-Output ''
$Collection = $AllCollections.$((Read-Host -Prompt 'Choose collection number') -as [int])

$oldrdscb = "RDSCB01N01"
$newrdscb = "RDSCB02N01"
$newrdscbsmb = "\\$newrdscb\C$\temp\migrationvariables.txt"

echo "$collection" = "$Collection" | Out-File -FilePath $newrdscbsmb -append -width 200

txt文件\ RDSCB02N01 \ c $ \ temp \ migrationvariables.txt现在包含:

RDS-FSLOGIXTEST
=
RDS-FSLOGIXTEST

这是因为它读取第一个$ collection并给出$ collection变量的输出,这很有意义。 我如何在没有第一个$ collection变量的情况下获取结果,并将其作为文本而不是变量发送,因此txt中的最终结果将是:

$collection = TEST

运行此代码之前,txt为空。 这里的目标是在新的rds服务器上读取变量以迁移主题。

有什么提示吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您只需要使用反引号(`)转义美元符号即可。通常在键盘上的Tab键上方。

$oldrdscb = "RDSCB01N01"
$newrdscb = "RDSCB02N01"
$newrdscbsmb = "\\$newrdscb\C$\temp\migrationvariables.txt"

echo "`$collectioname" = "`$Collection" | Out-File -FilePath $newrdscbsmb -append -width 200