2014-07-16 60 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