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:\&gt; 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:\&gt; Reset-ProgressPlus -ID 1, 2, 4
PS C:\&gt; Reset-ProgressPlus 1, 2, 3
PS C:\&gt; 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:\&gt;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:\&gt;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:\&gt;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:\&gt;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:\&gt;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:\&gt;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:\&gt;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:\&gt;1..100 | Write-ProgressPlus | % {Start-Sleep -Seconds 1}
PS C:\&gt;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:\&gt;1..100 | Write-ProgressPlus -KeepState | % {Start-Sleep -Seconds 1}
PS C:\&gt;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:\&gt;Write-Progress
PS C:\&gt;Write-Progress -KeepState
PS C:\&gt;Write-Progress -KeepState
PS C:\&gt;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>