不确定这是否可能,但我想问。
我有一个powershell脚本,可以对文件和目录清理进行一些基本的复制。我需要在循环中运行相同的脚本,但每次运行都要更改两个变量。
所以我会有变量列表: $ tml = @(" site1"," site2"," site3") $ pc = @(" pc1"," pc2"," pc3")
然后我的脚本就像这样基本的东西: Copy-Item -Path E:\ disaster_rec \ $ tml \ -Recurse -Destination \ $ pc \ c $ \ disaster_rec -Force
但是通过每次运行,我希望它为每个变量使用下一个变量字符串。
所以它最终会像这样运行:
Copy-Item -Path E:\ disaster_rec \ site1 \ -Recurse -Destination \ pc1 \ c $ \ disaster_rec -Force
Copy-Item -Path E:\ disaster_rec \ site2 \ -Recurse -Destination \ pc2 \ c $ \ disaster_rec -Force
Copy-Item -Path E:\ disaster_rec \ site3 \ -Recurse -Destination \ pc3 \ c $ \ disaster_rec -Force
这一切都是可能的吗?如果可以的话,你能指出我正确的方向吗?我尝试过使用foreach,但似乎无法使用两个变量。
非常感谢任何帮助。
答案 0 :(得分: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"}