0
我需要一些幫助,或者建議一個更好的方式來處理我正在做的事情。來自foreach的調用腳本
我試圖複製一些事情,所以我有
$tests = @("test1", "test3", "test5")
$copy_1 = {
$source = "C:\Source\test1"
$Destination = "C:\Destination\test1"
Copy-Item $Source -Recurse -Destination $Destination -Container -Force
}
$copy_2 = {
$source = "C:\Source\test2"
$Destination = "C:\Destination\test2"
Copy-Item $Source -Recurse -Destination $Destination -Container -Force
}
$copy_3 = {
$source = "C:\Source\test3"
$Destination = "C:\Destination\test3"
Copy-Item $Source -Recurse -Destination $Destination -Container -Force
}
$copy_4 = {
$source = "C:\Source\test4"
$Destination = "C:\Destination\test4"
Copy-Item $Source -Recurse -Destination $Destination -Container -Force
}
Foreach($i in $Tests)
{
IF($i -eq "test1)
{
Start-Job -Name $i -Scriptblock {$($i)}
}
}
....
這不叫我的腳本塊。
PSJobTypeName State HasMoreData Location Command
BackgroundJob Running True localhost ($($i))
我該如何調用$ test1塊?
在此先感謝。
爲什麼'$($ i)'而不是'$ i'? –
我和邁克一樣想着。我認爲只要'$我'會在那裏做到。但爲了使代碼看起來更清晰(我有很多要複製的),我試圖完成我這樣做的方式。我會試試這個,看看會發生什麼。也許在此期間別人可能有一個想法。 – Besiktas
作爲一種習慣,我在$($ i)內引號,這樣整個變量就被評估了。在引號內使用屬性時更方便,比如「$($ server.Name)」。如果你有「$ server.Name」,那麼它的計算結果是不一樣的。 – AutomatedOrder