2016-11-07 30 views
0

これが可能かどうかわかりませんが、質問したいと思います。Powershell - 複数の文字列で複数の変数をループする

ファイルとディレクトリのクリーンアップの基本的なコピーを行うpowershellスクリプトがあります。ループで同じスクリプトを実行する必要がありますが、2つの変数を変更するとそれぞれが実行されます。

は、だから私は、変数のリストを持っているでしょう: $ TML = @( "SITE1"、 "サイト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 \ SITE2 \ -Recurse -Destination \ PC2 \ C $ \ disaster_rec -Force

コピー項目-Path E:\ disaster_rec \ site3 \ -Recurse -Destination \ PC3 \ C $ \ disaster_rec -Force

これはすべて可能ですか?その場合は正しい方向に向けることができますか?私はforeachを使ってみましたが、2つの変数で動作するようには見えません。

ご協力いただければ幸いです。

答えて

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

関連する問題