다음을 통해 공유


Write-Progress

Tony has a very cool series of Monad-oriented blog entries at: https://mshforfun.blogspot.com/ .  I was fascinated by this one: https://mshforfun.blogspot.com/2005/12/ncbi-blastn-under-msh-command-line.html  which exposes the NCBI BLAST tool via a command line.  Tony's log explains what this tool does but what I found so cool was that it submitted a query for a Website, waited for results, retrived those results and then displayed them.

Tony's script is a rewrite of a Perl Script using traditional concepts.  In particular, it outputs error, progress, and results all to the same channel on the console.  I did a light rewrite of the script to leverage Monad ability to put this information into different channels.  In particular, progress information can be displayed in a Console ProgressBar via Write-Progress.   This is the preferred way to display this information.  It provides a much better user experience and it forces you to think about what information you should be providing the user to set their expectations.  The other cool thing is that these Progress records are also available to GUI hosts so if this script where hosted in a GUI, it could use a GUI progressBar.

Run the original script and then try this one and compare the difference. 

I've attached the script.

Jeffrey P. Snover
Monad Architect

blastn-nr.msh

Comments

  • Anonymous
    February 11, 2006
    No script attached
  • Anonymous
    February 11, 2006
    The attachment is the link "blastn-nr.msh" a few lines below my name.

    jps
  • Anonymous
    February 11, 2006
    I have not tired Write-Progress cmdlet yet. But it is really cool!