2014-07-16 61 views
0
./backup.ps1 
$job = Start-Job {$i=0; $c=0; while (1) { 
Write-Progress Activity "Step $i"; $i++; Start-Sleep -sec 1 }} 
while ($job.State -eq 'Running' -And $c -lt 5) { 
$c++; 
$progress=$job.ChildJobs[0].progress; 
$progress | %{$_.StatusDescription}; 
$progress.Clear(); Start-Sleep 1 } 

我一直在試圖解決它等待備份完成一個劇本,比執行的一個代碼塊,但我不能這樣做,與啓動作業,等待作業,我發現上面的代碼並粘貼到我的文檔,它的工作,但因爲我是新的PowerShell我不知道這個腳本究竟是做什麼啓動睡眠腳本需要了解

+0

*我是新來的powershell我不知道這個腳本究竟做了什麼*只是旁邊你可能想[安裝ISE](http://technet.microsoft.com/en-us/library/dd315244。 aspx)你可以通過腳本檢查變量,像任何其他現代IDE –

回答

0

你不能只使用這種語法管道作業out-null嗎?

& ./backup.ps1|Out-Null

直到$工作已經完成並釋放這將等待下一步處理。

註釋掉後面的所有內容./backup是關於等待腳本調用完成的。

你只是在PS腳本中調用一個PS腳本。如果您想在開始下一個任務之前等待完成第一個任務,請將|Out-Null添加到末尾

另外 - 它不會包含您在當前設置中的所有詳細輸出。但它速度快,效率高,代碼少得多。

+0

對不起,我明白這是可能的,如果你可以修改上面的代碼,我重用它來測試它的工作與否 – user3770612

+0

你在哪裏打電話給你進程運行?什麼代碼?你應該在某個地方實例化它......是否是$工作? – Hituptony

+0

可以任何人請詳細說明這個 – user3770612