首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跟进“自定义机器复制进度栏( quest1on in PowerShell)”中答案中的代码

跟进“自定义机器复制进度栏( quest1on in PowerShell)”中答案中的代码
EN

Stack Overflow用户
提问于 2014-01-18 18:27:43
回答 1查看 607关注 0票数 0

我知道一些PowerShell,但我不是PowerShell的大师。关于Custom RoboCopy Progress Bar in PowerShell的答案中列出的代码,我有一个问题

我接下来的问题是:如何适应这个脚本来运行几个连续的机器人复制命令?

我需要镜像文件从不同的驱动器与不同的来源和不同的目的地到我的便携式USB3驱动器。

谢谢你的帮助。

凯文

EN

回答 1

Stack Overflow用户

发布于 2014-01-18 19:00:15

您可以使用PowerShell作业同时运行多个机器人复制作业。有关更多信息,请运行:

代码语言:javascript
运行
复制
Get-Help -Name about_Jobs;

或者,您可以简单地多次调用Start-Process,并省略-Wait参数。

代码语言:javascript
运行
复制
Get-Help -Name Start-Process -Full;

下面是一个示例,说明如何启动多个PowerShell后台作业,并从它们中返回状态:

代码语言:javascript
运行
复制
# Define a ScriptBlock that does some "work"
# NOTE: ScriptBlock should output an integer that indicates percentage complete
$ScriptBlock = {
    1..100 | % { $_; Start-Sleep -Milliseconds (Get-Random -Minimum 5 -Maximum 200); };
    }
# Kick off several jobs (with unique names)
1..3 | % { Start-Job -ScriptBlock $ScriptBlock -Name ('Complex Job {0}' -f $_); };

# Display Progress Bars until all jobs are completed
while (($JobList = Get-Job -State Running)) {
    foreach ($Job in $JobList) {
        try {
            # Get the most recent status
            $Percent = (Receive-Job -Job $Job -Keep)[-1];
            Write-Progress -Activity 'Background Jobs' -CurrentOperation $Job.Name -Id $Job.Id -PercentComplete $Percent;
        }
        catch { Write-Verbose -Message ('Couldn''t get percentage completed from: {0}' -f $Job.Id); }
    }
    Start-Sleep -Milliseconds 200;
}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21208104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档