All Projects → mazzy-ax → Write-ProgressEx

mazzy-ax / Write-ProgressEx

Licence: MIT license
Write-ProgressEx is a powershell advanced function that extends the Write-Progress cmdlet.

Programming Languages

powershell
5483 projects

Projects that are alternatives of or similar to Write-ProgressEx

React Spinners
A collection of loading spinner components for react
Stars: ✭ 2,054 (+7235.71%)
Mutual labels:  progressbar
Downloader Cli
A simple downloader written in Python with an awesome customizable progressbar.
Stars: ✭ 186 (+564.29%)
Mutual labels:  progressbar
Floatingmusicmenu
一款可用于音乐播放器的悬浮菜单按钮(A floating music menu)
Stars: ✭ 247 (+782.14%)
Mutual labels:  progressbar
Zzhorizontalprogressbar
水平进度条,支持渐变色和二级进度
Stars: ✭ 153 (+446.43%)
Mutual labels:  progressbar
React Nprogress
⌛️ A React primitive for building slim progress bars.
Stars: ✭ 173 (+517.86%)
Mutual labels:  progressbar
Progress dialog
A light weight library to easily manage a progress dialog with simple steps whenever you need to do it. You can easily show and hide it.
Stars: ✭ 196 (+600%)
Mutual labels:  progressbar
Webpackbar
Elegant ProgressBar and Profiler for Webpack 3 , 4 and 5
Stars: ✭ 1,887 (+6639.29%)
Mutual labels:  progressbar
Examples wxWidgets
Shows how to use wxWidgets controls only by programming code (c++17).
Stars: ✭ 116 (+314.29%)
Mutual labels:  progressbar
Alive Progress
A new kind of Progress Bar, with real-time throughput, ETA, and very cool animations!
Stars: ✭ 2,940 (+10400%)
Mutual labels:  progressbar
React Sweet Progress
A way to quickly add a progress bar to react app 🌈
Stars: ✭ 239 (+753.57%)
Mutual labels:  progressbar
Progress Bar.sh
Simple & sexy progress bar for `bash`, give it a duration and it will do the rest.
Stars: ✭ 155 (+453.57%)
Mutual labels:  progressbar
Linearprogressbar
Simple progress bar for iOS
Stars: ✭ 166 (+492.86%)
Mutual labels:  progressbar
Chartprogressbar Android
Draw a chart with progress bar style
Stars: ✭ 213 (+660.71%)
Mutual labels:  progressbar
Rxtool
Android开发人员不得不收集的工具类集合 | 支付宝支付 | 微信支付(统一下单) | 微信分享 | Zip4j压缩(支持分卷压缩与加密) | 一键集成UCrop选择圆形头像 | 一键集成二维码和条形码的扫描与生成 | 常用Dialog | WebView的封装可播放视频 | 仿斗鱼滑动验证码 | Toast封装 | 震动 | GPS | Location定位 | 图片缩放 | Exif 图片添加地理位置信息(经纬度) | 蛛网等级 | 颜色选择器 | ArcGis | VTPK | 编译运行一下说不定会找到惊喜
Stars: ✭ 11,567 (+41210.71%)
Mutual labels:  progressbar
MatlabProgressBar
This MATLAB class provides a smart progress bar like tqdm in the command window and is optimized for progress information in simple iterations or large frameworks with full support of parallel parfor loops provided by the MATLAB Parallel Computing Toolbox.
Stars: ✭ 44 (+57.14%)
Mutual labels:  progressbar
Radialprogressbar
Radial ProgressBar inspired by Apple Watch OS. It is highly Customisable
Stars: ✭ 141 (+403.57%)
Mutual labels:  progressbar
Circularprogressbar
Circular ProgressBar is a custom control for WinForm with animation.
Stars: ✭ 191 (+582.14%)
Mutual labels:  progressbar
ProgressBar
Beautiful progress bar for android
Stars: ✭ 62 (+121.43%)
Mutual labels:  progressbar
shell-progressbar
Make a progress bar GUI on terminal platform (Shell script)
Stars: ✭ 39 (+39.29%)
Mutual labels:  progressbar
Mkmagneticprogress
A circular progress bar for iOS written in Swift
Stars: ✭ 214 (+664.29%)
Mutual labels:  progressbar

Write-ProgressEx – extended write-progress cmdlet

Build status PowerShell Gallery NuGet Write-ProgressEx icon

Write-ProgressEx extends the functionality of the standard powershell cmdlet. Write-ProgressEx is a powershell advanced function that provides a simple way to show ProgressBars with PercentComplete and SecondsRemaining.

The cmdlet:

  • works with pipe;
  • works with empty activity string;
  • completes all inner progresses if no parameters;
  • automatically completes with pipe;
  • automatically calculates percents, remaining seconds and elapsed time;
  • automatically displays current iteration and totals on progress bar;
  • automatically displays info with a progress bar and at the console title;
  • automatically set parent id for a inner loop;
  • stores totals, current values and actual parameters into the module hashtable;
  • provides get/set cmdlets to access actual parameters;
  • uses script blocks to show messages with date, time, iterations and elapsed time on events:
    • first iteration;
    • activity changed;
    • status changed;
    • completed.
  • provides a counter functional. See Write-ProgressEx as a counter;
  • uses the caller function name or the caller script file name as the Activity;
  • accepts -ShowProgressBar Auto parameter to reduce the overhead for redrawing a screen. It recognizes None and Force values also.

Note: the function is not safe with multi-thread.

Examples

A pipe and a simple loop:

$range1 = 1..20
$range1 | Write-ProgressEx "loop 1" -Total $range1.Count -ShowMessages | ForEach-Object {
    # ....
}

$range2 = 1..15
$range2 | ForEach-Object {
    # ....
    Write-ProgressEx "loop 2" -Total $range2.Count -Increment
}

Write-ProgressEx #close all progress bars

Pipes in nested loops:

$outer = 1..20
$inner = 1..50

$outer | Write-ProgressEx "pipe nodes" -Status "outer" -Total $outer.Count -ShowMessages | ForEach-Object {
    $inner | Write-ProgressEx "pipe names" -id 1 -Status "inner" -Total $inner.Count | ForEach-Object {
        # ....
    }
}

screenshot: Write-ProgressEx

screenshot: Result messages

A long time command:

$path = $env:homepath
$files = Get-ChildItem $path -Recurse | Write-ProgressEx $path

More samples are in the folder Examples.

Installation

Automatic install Write-ProgressEx module from the PowerShell Gallery:

Install-Module -Name Write-ProgressEx
Import-Module Write-ProgressEx

Automatic install Write-ProgressEx module from the NuGet.org:

Install-Package -Name Write-ProgressEx
Import-Module Write-ProgressEx

or manual:

  • Download and unblock the latest .zip file.
  • Extract the .zip into your $PSModulePath, e.g. ~\Documents\WindowsPowerShell\Modules.
  • Ensure the extracted folder is named Write-ProgressEx.
  • Set an execution policy to RemoteSigned or Unrestricted to execute not signed modules Set-ExecutionPolicy RemoteSigned.
  • Run Import-Module Write-ProgressEx.

Known issues

  • Unable to import module on case-sensitive file systems. Thanks @jasonchester for the workaround

Changelog

License

This project is released under the licensed under the MIT License.

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].