2016-11-07 48 views
0

不確定這是否可能,但我想問一下。Powershell - 使用多個字符串循環多個變量

我有一個PowerShell腳本,執行文件和目錄清理的一些基本複製。我需要在循環中運行相同的腳本,但每次運行時都要更改兩個變量。

因此,我將有變量列表: $ TML = @( 「站點1」, 「站點2」, 「site3」) $ PC = @( 「PC1」, 「PC2」, 「PC3」)

然後我的腳本會是這樣一些基本的東西: 複製-項目-Path E:\ disaster_rec \ $ TML \ -Recurse -Destination \ $ PC \ C $ \ disaster_rec -Force

但通過每一輪,我會希望它爲每個變量使用行中的下一個變量字符串。

所以,到頭來是這樣的:

拷貝項目-Path E:\ disaster_rec \ site1的\ -Recurse -Destination \ PC1 \ C $ \ disaster_rec -Force

拷貝項目-Path E:\ disaster_rec \站點2 \ -Recurse -Destination \ PC2 \ C $ \ disaster_rec -Force

拷貝項目-Path E:\ disaster_rec \ site3 \ -Recurse -Destination \ PC3 \ C $ \ disaster_rec -Force

這是否可能,如果是這樣,你能指出我的方向嗎?我試過使用foreach,但似乎無法讓它與兩個變量一起工作。

任何幫助將不勝感激。

回答

1
$tml = @{"site1"="pc1","site2"="pc2","site3"="pc3"} 
foreach($key in $tml.Keys) 
{ 
    Copy-Item -Path "E:\disaster_rec\$key\" -Recurse -Destination "\$($tml[$key])\c$\disaster_rec" -Force 
} 

看看哈希表$tmz = @{"key" = "value"}

+0

更新的答案。 – TacoMaster6000