如何在PowerShell中用变量替换字符串?

时间:2014-06-18 20:32:07

标签: powershell

我有这个代码,我正在努力:

$NumberOfProfiles = Read-Host "Enter a number of profiles"
$Directory = "C:\Users\Apple\Folder(1..HowMuchProfilesCreated\Text.txt"
Variable1 = "Plane"
Variable2 = "Yacht"
Variable100 = "Bike"
while ($NumberOfProfiles -gt 0) { 
(Get-Content $Directory) | %{$_.Replace("Car", "Don'tKnowWhatToPutHere")} | Set-Content $Directory 
$NumberOfProfiles--

Text.txt文件在所有文件夹中都是相同的,并且包含我想要更改的相同字符串(例如" Car"在这种情况下),但是新字符串应该来自我声明的变量之前和(或者可能最好使用数组?)

E.g。 $ NumberOfProfiles = 10,我创建10个文件夹,其中Text.txt完全相同,我需要" Car"要替换为folder1中的Variable1,folder2中的Variable2,依此类推。

1 个答案:

答案 0 :(得分:2)

如果您可以构建变量名称,则可以使用Get-Variable。举例说明:

$Variable1 = "Bike"
$FolderID = 1
Get-Variable -Name "Variable$FolderID" -ValueOnly

将导致

Bike