我想通過網絡複製一個包,這是幾GB的,我不能複製完成繼續執行我的PS腳本和其餘任務,因爲它們不依賴。什麼是最好的方法來做到這一點?複製一個項目而不等待
目前我認爲最好的方法是調用另一個腳本來執行副本而不用等待。你的想法非常感謝。
我想通過網絡複製一個包,這是幾GB的,我不能複製完成繼續執行我的PS腳本和其餘任務,因爲它們不依賴。什麼是最好的方法來做到這一點?複製一個項目而不等待
目前我認爲最好的方法是調用另一個腳本來執行副本而不用等待。你的想法非常感謝。
Powershell有很多選項可以做到這一點。一個最簡單的方法是使用複製爲PSJob像:
#Put you script here which you want to do before copying
$source_path = "\\path\to\source\file"
$destination_path = "path\to\destination\file"
Start-Job -ScriptBlock {param($source_path,$destination_path) Copy-item $source_path $destination_path} -ArgumentList $source_path,$destination_path
# Keep Your remaining script here
,或者你可以像這樣
$copyJob = Start-Job –ScriptBlock {
$source = "\\path\to\source\file"
$target = "path\to\destination\file"
Copy-Item -Path $source -Destination $target -Recurse Verbose
}
您可以使用後臺智能傳輸服務(BITS)的cmdlet,但對於你需要有模塊存在,那麼你應該
Import-Module BitsTransfer
一種可能的選擇是將Start-BitsTransfer與-asynchronous標誌一起使用。 An article explaining how that works is available here。
謝謝,看起來正是我需要的! –