我需要像这样在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服务器上读取变量以迁移主题。
有什么提示吗?谢谢!
答案 0 :(得分:1)
您只需要使用反引号(`)转义美元符号即可。通常在键盘上的Tab键上方。
$oldrdscb = "RDSCB01N01"
$newrdscb = "RDSCB02N01"
$newrdscbsmb = "\\$newrdscb\C$\temp\migrationvariables.txt"
echo "`$collectioname" = "`$Collection" | Out-File -FilePath $newrdscbsmb -append -width 200