en-us/WriteProgressPlus.dll-Help.xml
<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh"> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Reset-ProgressPlus</command:name> <command:verb>Reset</command:verb> <command:noun>ProgressPlus</command:noun> <maml:description> <maml:para>Reset progress bar status for the specified id, or for all of them.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Reset progress bar status for the specified id, or for all of them. </maml:para> <maml:para>Only needed when using Write-ProgressPlus in non-pipeline mode.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Reset-ProgressPlus</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ID</maml:name> <maml:description> <maml:para>IDs of the progress status to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue> <dev:type> <maml:name>Int32[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Reset-ProgressPlus</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>If specified, the command will remove status for all progress bars started by Write-ProgressPlus.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none"> <maml:name>ID</maml:name> <maml:description> <maml:para>IDs of the progress status to be removed.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32[]</command:parameterValue> <dev:type> <maml:name>Int32[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>All</maml:name> <maml:description> <maml:para>If specified, the command will remove status for all progress bars started by Write-ProgressPlus.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>Int32[]</maml:name> </dev:type> <maml:description> <maml:para>IDs of progress bars to be reset.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>None</maml:name> </dev:type> <maml:description> <maml:para></maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\> Reset-ProgressPlus -All</dev:code> <dev:remarks> <maml:para>Resets progress status of all progress bars.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>PS C:\> Reset-ProgressPlus -ID 1, 2, 4 PS C:\> Reset-ProgressPlus 1, 2, 3 PS C:\> 1, 2, 3 | Reset-ProgressPlus</dev:code> <dev:remarks> <maml:para>Resets progress status of progress bars with IDs 1, 2, 3</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Project repository</maml:linkText> <maml:uri>https://github.com/Pedrokostam/WriteProgressPlus/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp"> <command:details> <command:name>Write-ProgressPlus</command:name> <command:verb>Write</command:verb> <command:noun>ProgressPlus</command:noun> <maml:description> <maml:para>Show a progress bar which can calculate estimated time and percentage.</maml:para> </maml:description> </command:details> <maml:description> <maml:para>Show a progress bar which can calculate estimated time and percentage.</maml:para> <maml:para>Works similarly to Write-Progress, but automates many things, including:</maml:para> <maml:para>- iteration count can incremented automatically;</maml:para> <maml:para>- percent complete can be calculated automatically, if given -TotalCount;</maml:para> <maml:para>- estimated time to completion can be calculated automatically, if given -TotalCount;</maml:para> <maml:para>- can be used as a step in pipeline, passing through all input objects;</maml:para> <maml:para>- automatic create of bar status, which allows custom formatting and removing parts of it.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Write-ProgressPlus</maml:name> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ID</maml:name> <maml:description> <maml:para>Unique ID of progress bar. Used for nesting progress bars.</maml:para> <maml:para>While IDs is shared with ordinary Write-Progress, this module offsets all IDs, so there should not be any conflict.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ParentID</maml:name> <maml:description> <maml:para>ID of parent progress bar. Used to create sub-bars.</maml:para> <maml:para>To make parent independent, set to a negative value.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>-1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Activity</maml:name> <maml:description> <maml:para>Activity description. Will be showed before progress bar.</maml:para> <maml:para>Equivalent of Activity of Write-Progress</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>"Processing..."</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Count"> <maml:name>TotalCount</maml:name> <maml:description> <maml:para>Total count of expected iterations. If positive, will enable showing percent done (and accurate progress length) and time remaining.</maml:para> <maml:para>If at any time iteration exceeds TotalCount, cmdlet will continue working, but a warning will be displayed in status.</maml:para> <maml:para>User can provide anything convertible to integer, as well as instance of ICollection (will take its Count).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>-1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Increment</maml:name> <maml:description> <maml:para>How much to increase the CurrentIteration if it was not specified.</maml:para> <maml:para>If CurrentIteration is specified, Increment is ignored. Set to zero to freeze the progress bar.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Iteration"> <maml:name>CurrentIteration</maml:name> <maml:description> <maml:para>Overrides the calculated iteration.</maml:para> <maml:para>Works similar to its analogue in WriteProgress</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Current object. If specified, can be used for formatting status.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object</command:parameterValue> <dev:type> <maml:name>Object</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Script"> <maml:name>DisplayScript</maml:name> <maml:description> <maml:para>Scriptblock used for formatting status string.</maml:para> <maml:para>The script receives 4 parameters: InputObject, CurrentIteration, PercentDone, TotalCount.</maml:para> <maml:para>Use $Args[0] to $Args[3] to access them. Alternatively, you can use their aliases: $_, $c, $p, $t, respectively.</maml:para> <maml:para>Example - for CurrentIteration = 12; TotalCount = 200, InputObject "Test"</maml:para> <maml:para> {$_} gives "Test" {$_.Length} gives "4" {"$c / $t"} gives "12 / 200" {$p} gives "6" (notice lack of percent sign)</maml:para> <maml:para>Will override DisplayProperties.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue> <dev:type> <maml:name>ScriptBlock</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="Properties"> <maml:name>DisplayProperties</maml:name> <maml:description> <maml:para>List of property names of the input object to format into status.</maml:para> <maml:para>You can use wildcard, for example if the InputObject is a DateTime, specifying *second will give both Seconds and Milliseconds.</maml:para> <maml:para>Overriden by DisplayScript.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Separator"> <maml:name>DisplayPropertiesSeparator</maml:name> <maml:description> <maml:para>If DisplayProperties are specified, this string will be used to join them.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>", "</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideObject</maml:name> <maml:description> <maml:para>If specified, hides object (and its formatting) from status</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoCounter</maml:name> <maml:description> <maml:para>If specified, hides counter from status.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoETA</maml:name> <maml:description> <maml:para>If specified, hides ETA from status.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoPercentage</maml:name> <maml:description> <maml:para>If specified, hides percentage from status.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>false</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Persist"> <maml:name>KeepState</maml:name> <maml:description> <maml:para>If specified, progress bar status will be preserved across different commands (the ones listed in Get-History).</maml:para> <maml:para>By default, the state is removed when the calling instance is from a different command - this parameter can prevent that.</maml:para> <maml:para>When KeepState is true, the cmdlet will attempt to reuse exisiting state, even if it is from a different command.</maml:para> <maml:para>Also, if KeepState is true when cmdlet is used in a pipeline, it will prevent automatic deletion of its state at the completion of the pipeline.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>false</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>if specified, will emit the input object.</maml:para> <maml:para>If this cmdlet is in the middle of a pipeline, this parameter if set to true and cannot be changed.</maml:para> </maml:description> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>true for pipeline mode, false otherwise</dev:defaultValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ID</maml:name> <maml:description> <maml:para>Unique ID of progress bar. Used for nesting progress bars.</maml:para> <maml:para>While IDs is shared with ordinary Write-Progress, this module offsets all IDs, so there should not be any conflict.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>ParentID</maml:name> <maml:description> <maml:para>ID of parent progress bar. Used to create sub-bars.</maml:para> <maml:para>To make parent independent, set to a negative value.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>-1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Activity</maml:name> <maml:description> <maml:para>Activity description. Will be showed before progress bar.</maml:para> <maml:para>Equivalent of Activity of Write-Progress</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>"Processing..."</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Count"> <maml:name>TotalCount</maml:name> <maml:description> <maml:para>Total count of expected iterations. If positive, will enable showing percent done (and accurate progress length) and time remaining.</maml:para> <maml:para>If at any time iteration exceeds TotalCount, cmdlet will continue working, but a warning will be displayed in status.</maml:para> <maml:para>User can provide anything convertible to integer, as well as instance of ICollection (will take its Count).</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>-1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>Increment</maml:name> <maml:description> <maml:para>How much to increase the CurrentIteration if it was not specified.</maml:para> <maml:para>If CurrentIteration is specified, Increment is ignored. Set to zero to freeze the progress bar.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>1</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Iteration"> <maml:name>CurrentIteration</maml:name> <maml:description> <maml:para>Overrides the calculated iteration.</maml:para> <maml:para>Works similar to its analogue in WriteProgress</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue> <dev:type> <maml:name>Int32</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="named" aliases="none"> <maml:name>InputObject</maml:name> <maml:description> <maml:para>Current object. If specified, can be used for formatting status.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">Object</command:parameterValue> <dev:type> <maml:name>Object</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Script"> <maml:name>DisplayScript</maml:name> <maml:description> <maml:para>Scriptblock used for formatting status string.</maml:para> <maml:para>The script receives 4 parameters: InputObject, CurrentIteration, PercentDone, TotalCount.</maml:para> <maml:para>Use $Args[0] to $Args[3] to access them. Alternatively, you can use their aliases: $_, $c, $p, $t, respectively.</maml:para> <maml:para>Example - for CurrentIteration = 12; TotalCount = 200, InputObject "Test"</maml:para> <maml:para> {$_} gives "Test" {$_.Length} gives "4" {"$c / $t"} gives "12 / 200" {$p} gives "6" (notice lack of percent sign)</maml:para> <maml:para>Will override DisplayProperties.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue> <dev:type> <maml:name>ScriptBlock</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="true" pipelineInput="False" position="named" aliases="Properties"> <maml:name>DisplayProperties</maml:name> <maml:description> <maml:para>List of property names of the input object to format into status.</maml:para> <maml:para>You can use wildcard, for example if the InputObject is a DateTime, specifying *second will give both Seconds and Milliseconds.</maml:para> <maml:para>Overriden by DisplayScript.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue> <dev:type> <maml:name>String[]</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>None</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Separator"> <maml:name>DisplayPropertiesSeparator</maml:name> <maml:description> <maml:para>If DisplayProperties are specified, this string will be used to join them.</maml:para> </maml:description> <command:parameterValue required="true" variableLength="false">String</command:parameterValue> <dev:type> <maml:name>String</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>", "</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>HideObject</maml:name> <maml:description> <maml:para>If specified, hides object (and its formatting) from status</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoCounter</maml:name> <maml:description> <maml:para>If specified, hides counter from status.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoETA</maml:name> <maml:description> <maml:para>If specified, hides ETA from status.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>False</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>NoPercentage</maml:name> <maml:description> <maml:para>If specified, hides percentage from status.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>false</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="Persist"> <maml:name>KeepState</maml:name> <maml:description> <maml:para>If specified, progress bar status will be preserved across different commands (the ones listed in Get-History).</maml:para> <maml:para>By default, the state is removed when the calling instance is from a different command - this parameter can prevent that.</maml:para> <maml:para>When KeepState is true, the cmdlet will attempt to reuse exisiting state, even if it is from a different command.</maml:para> <maml:para>Also, if KeepState is true when cmdlet is used in a pipeline, it will prevent automatic deletion of its state at the completion of the pipeline.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>false</dev:defaultValue> </command:parameter> <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none"> <maml:name>PassThru</maml:name> <maml:description> <maml:para>if specified, will emit the input object.</maml:para> <maml:para>If this cmdlet is in the middle of a pipeline, this parameter if set to true and cannot be changed.</maml:para> </maml:description> <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue> <dev:type> <maml:name>SwitchParameter</maml:name> <maml:uri /> </dev:type> <dev:defaultValue>true for pipeline mode, false otherwise</dev:defaultValue> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para>Any object can be inputted.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>System.Object</maml:name> </dev:type> <maml:description> <maml:para>If -PassThru is true (or used in the middle of a pipeline), the input object is outputted, otherwise nothing is.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <maml:alertSet> <maml:alert> <maml:para></maml:para> </maml:alert> </maml:alertSet> <command:examples> <command:example> <maml:title>-------------------------- Example 1 --------------------------</maml:title> <dev:code>PS C:\>1..100 | Write-ProgressPlus | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Will display a progress which will update 100 times, displaying number of iterations passed.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 2 --------------------------</maml:title> <dev:code>PS C:\>1..100 | Write-ProgressPlus -TotalCount 100 | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Will display a progress which will update 100 times, displaying number of iterations passed.</maml:para> <maml:para>Percentage of completion will be displayed, as well as estimated time to completion.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 3 --------------------------</maml:title> <dev:code>PS C:\>1..100 | % {get-date} | Write-ProgressPlus -TotalCount 100 -DisplayProperties Hour, Minute, Second -DisplayPropertiesSeparator ":" | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Will display a progress which will update 100 times, displaying number of iterations passed.</maml:para> <maml:para>The status will contain current time in format HH:MM:SS.</maml:para> <maml:para>Percentage of completion will be displayed, as well as estimated time to completion.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 4 --------------------------</maml:title> <dev:code>PS C:\>1..100 | % {get-date} | Write-ProgressPlus -TotalCount 100 -DisplayProperties *second | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Will display a progress which will update 100 times, displaying number of iterations passed.</maml:para> <maml:para>The status will contain Millisecond, Microsecond, Nanosecond, Second - separated by ", "</maml:para> <maml:para>Percentage of completion will be displayed, as well as estimated time to completion.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 5 --------------------------</maml:title> <dev:code>PS C:\>100..300 | Write-ProgressPlus -TotalCount 200 -DisplayScript {[math]::sqrt($_)} | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Will display a progress bar which will update 200 times, displaying number of iterations passed.</maml:para> <maml:para>The status will contain the square root of current object (10, 10.0498756211, 10.0995049384, ...)</maml:para> <maml:para>Percentage of completion will be displayed, as well as estimated time to completion.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 6 --------------------------</maml:title> <dev:code>PS D:\>ls -Directory | WriPro -ID 1 -Properties Name | % {$_ | ls -File | WriPro -ParentID 1 -ID 2 -Properties Name | %{Start-Sleep -Milliseconds 250; $_}}</dev:code> <dev:remarks> <maml:para>Will display 2 nested progress bars.</maml:para> <maml:para>The main one will updated for each folder showing folder name in its status.</maml:para> <maml:para>The nested one will updated for every file in currently processed folder.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 7 --------------------------</maml:title> <dev:code>PS D:\>foreach($i in 1..100){ Start-Sleep -Milliseconds 500 Write-ProgressPlus -ID 1 -InputObject $i -TotalCount 100 } Reset-ProgressPlus -ID 1</dev:code> <dev:remarks> <maml:para>Same progress bar as in Example 2, but not in pipeline.</maml:para> <maml:para>If Reset-ProgressPlus is not called, subsequent calls to this bar ID will continue from 100.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 8 --------------------------</maml:title> <dev:code>PS C:\>1..100 | Write-ProgressPlus | % {Start-Sleep -Seconds 1} PS C:\>1..100 | Write-ProgressPlus | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Same progress bar as in Example 1, but two subsequent bars will appear. Both bars will start at its iteration counter at zero.</maml:para> <maml:para>Reset-Progress is not needed, since pipeline mode takes care of cleanup.</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 9 --------------------------</maml:title> <dev:code>PS C:\>1..100 | Write-ProgressPlus -KeepState | % {Start-Sleep -Seconds 1} PS C:\>1..100 | Write-ProgressPlus -KeepState | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>Same progress bar as in Example 8, but the bars will share the iteration counter (the second bar will end at 200)</maml:para> </dev:remarks> </command:example> <command:example> <maml:title>-------------------------- Example 10 --------------------------</maml:title> <dev:code>PS C:\>Write-Progress PS C:\>Write-Progress -KeepState PS C:\>Write-Progress -KeepState PS C:\>1..100 | Write-ProgressPlus | % {Start-Sleep -Seconds 1}</dev:code> <dev:remarks> <maml:para>First 3 commands will increase the iteration count by 1, so the pipeline bar will start at iteration 3.</maml:para> <maml:para>Without KeepState all the commands would start at 0, resetting each other's states.</maml:para> <maml:para>Notice that KeepState was not specified on the first command, as it is not needed.</maml:para> <maml:para>Since the pipeline bar has KeepState, it will not cleanup its state.</maml:para> </dev:remarks> </command:example> </command:examples> <command:relatedLinks> <maml:navigationLink> <maml:linkText>Project repository</maml:linkText> <maml:uri>https://github.com/Pedrokostam/WriteProgressPlus/</maml:uri> </maml:navigationLink> </command:relatedLinks> </command:command> </helpItems> |