PowerShell Cookbook

Twitter Updates

    follow me on Twitter

    Search

    Categories

     

    On this page

    Command-line shortcut for repetitive operations

    Archive

    Blogroll

    Disclaimer
    I work for Microsoft.

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

    RSS 2.0 | Atom 1.0 | CDF

    Send mail to the author(s) E-mail

    Total Posts: 235
    This Year: 12
    This Month: 0
    This Week: 0
    Comments: 634

    Sign In

     Thursday, July 28, 2005
    Thursday, July 28, 2005 10:25:25 PM (Pacific Daylight Time, UTC-07:00) ( )

    There are times when you might want to do the same thing many times at the command line.  You normally would use a counted for loop:

    MSH:19 C:\temp\monad > for($x = 0; $x -lt 5; $x++) { do-something }

    But here's a neat little trick to save some typing, if you don't care which iteration of the loop you're in:

    MSH:19 C:\temp\monad > 1..5 | foreach { do-something }

    This is a bloated and slow way to do a for loop, though, so don't use it in scripts.

    The 1..5 expression creates an array of 5 elements, using the numbers 1 through 5.  Then, we pipe it to foreach-object -- which then performs "do-something" for each element in the array.

    For more neat things you can do with arrays, type 
       get-help about_Array
    at your prompt.

    [Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]