Write-Progress 帮助信息

如下说明是翻译 : help write-progress 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Write-Progress
 
大纲
Windows PowerShell 命令窗口中显示一个进度条 .
 
语法
Write-Progress [-activity] <string> [-status] <string> [[-id] <int>] [-percentComplete <int>] [-secondsRemaining <int>] [-currentOperation <string>] [-parentId <int>] [-completed] [-sourceId <int>] [<CommonParameters>]
 
详细描述
Windows PowerShell 命令窗口中显示一个进度条 . 进度条是否被显示 , 取决于变量 $ProgressPreference. 查看该变量取值 , 输入 $ProgressPreference. 该变量的合法取值为 : SilentlyContinue, Continue, Stop Inquire. 如果该变量设置为 SilentlyContinue, 控制台不会显示进度条 . 在会话中设置该变量 , 输入 $ProgressPreference = "<value>". 通过为 Write-Progress 提供运行命令或脚本的运行状态数据 , 可以在控制台窗口中显示一个用于指示进度的进度条 . ( 译者补 : 使用 Write-Progress 监控的对象被称为活动 Activity, 因为本单词对应汉语稍有晦涩 , 次翻译较为欠妥 )
 
参数
 
-activity <string>
指定一个字符串 , 描述被该进度条指示的活动 . 该字符串显示为进度条的第一标题 .
 
强制参数 ?
true
参数位置 ?
1
默认值
 
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-status <string>
指定一个字符串 , 描述被该进度条指示活动的当前状态 . 该字符串显示为进度条的第二标题 .
 
强制参数 ?
true
参数位置 ?
2
默认值
 
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-id <int>
指定此进度记录的活动标识符 .
 
强制参数 ?
false
参数位置 ?
3
默认值
 
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-percentComplete <int>
指定该活动总的完成百分比 . 使用 -1 表示该百分比未知或暂时不可用 .
 
强制参数 ?
false
参数位置 ?
named
默认值
-1
允许从管道绑定输入 ?  
false
允许通配符扩展
 false
 
-secondsRemaining <int>
指定该活动的预计剩余时间 . 如果该值无法确定或暂时不可用 , 请指定 -1 作为参数 .
 
强制参数 ?
false
参数位置 ?
named
默认值
-1
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-currentOperation <string>
描述当前执行的操作 .
 
强制参数 ?
false
参数位置 ?
named
默认值
-1
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-parentId <int>
当前活动的父活动描述符 . 如果当前活动没有父活动 , 请指定 -1 作为参数 .
 
强制参数 ?
false
参数位置 ?
named
默认值
-1
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-completed <SwitchParameter>
指示该进度条是否显示 . 如果设置为 false, 只显示进度信息 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
-sourceId <int>
指定记录的源 ID
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?  
false
允许通配符扩展
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
ProgressRecord 对象 .
 
返回类型
不向管道输出任何对象
 
注意
 
更多信息 , 输入 "Get-Help Write-Progress -detailed". 需要技术信息 , 输入 "Get-Help Write-Progress -full".
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 , "<parameter-name> <value1>, <value2>".
 
此命令的参数对应于软件开发包 (SDK) 中的 ProgressRecord 类中的属性 .
 
1
 
C:/PS>for($i = 1; $i -lt 101; $i++ )
{for($j=0;$j -lt 10000;$j++) {} write-progress "Search in Progress" "% Complete:" -perc $i;}
 
此命令显示循环的进度 .
 
2
 
C:/PS>for($i = 1; $i -lt 101; $i++ ) {write-progress Updating progress-> -perc $i} for($i = 1; $i -lt 101; $i++ )
{ write-progress Updating progress -percentcomplete $i -id  1}
 
此例子显示两个连续循环的执行进度 .
 
Updating
  progress
  [oooooooooooooooooo   ]
 
Secondary updating
  Secondary Progress
  [oooooooooooooooooo   ]
 
3
 
C:/PS>$events = get-eventlog -logname system
$events | foreach-object -begin {clear-host;$i=0;$out=""} `
-process {if($_.message -like "*bios*") {$out=$out + $_.Message};
$i = $i+1;`
write-progress -activity "Searching Events" `
-status "Progress:" -percentcomplete ($i/$events.count*100)} `
-end {$out}
 
此命令会显示搜索系统事件中含有 ”bios” 字符串的进度 . 命令的第一行 , Get-EventLog cmdlet 用来从系统日志中 , 读取和存储事件到变量 $events. 第二行 , 变量 $events 通过管道传递给 ForEach-Object cmdlet. 在处理的开始 , Clear-Host 函数用来清除当前屏幕的信息 , 计数变量 $i 设置为 0, 输出变量 $out 被设置为空串 . 在第三行 ForEach-Object cmdlet Process 脚本块中 , $_ 表示的输入对象上 message 属性 , 先被检查是否包含 ”bios” 字符串 . 如果该对象包含字符串 , 则该信息被添加到变量 $out . 命令的第四行 , 每个被处理的事件 , 都会使 $i 变量加 1. 接下来 , 提供三个参数来调用 Write-Progress cmdlet. 前两个参数为 , 活动和状态 , 出现在进度条的上端标题信息 . 参数 PercentComplete 的取值为计算当前处理的事件数处以总事件数再乘以 100. 最后一行 , ForEach-Object cmdlet End 参数用来将存储在 $out 变量中 , 包含字符串 ”bios” 的信息输出 .
 
相关链接
Write-Verbose
Write-Error
Write-Host
Write-Debug
Write-Output
Write-Warning
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值