The small joys of using PowerShell

I was looking for some good tech talks to download for the weekend and came across “Techdays 2012 the Netherlands”. I went ahead and downloaded a few of the videos using the Firefox extension “DownThemAll”.

Once the downloads were complete, this is what my folder contents looked like:


That was as expected, but I’d rather prefer the names to be just the names of the talks without the Techdays….. prefix. And, I wasn’t really keen on renaming each one of them by hand, coz I plan to download more Smile

PowerShell to the rescue!

PowerShell was the first thing that came to my mind for automating this. After a bit of binging around for syntax, I started off and came up with this script:

$files = ls -name -exclude *.ps1
foreach ($f in $files)
    $d = [regex]::split($f, 'Netherlands');
    Rename-Item $f $d[1]
ls -name


At this point, I went all philosophical, thinking “Sometimes, it’s the little things in life that makes you happy” Smile

And, I’m new to PowerShell – this is my second “useful” script (I’ll blog about the first one shortly). I’d love to learn more about it and would like to hear from you, Dear Reader, if you would have written this script any differently.


Thanks for reading!



PS: You can follow me on twitter at “_amarnit”, where I share some quick tips/learnings at times! Smile

Comments (3)

  1. ManasDash says:

    every little helps. But PowerShell is very powerful

  2. Niclas Lindgren says:

    There is a built in -split operator in powershell

    help about_split

    And powershell usually likes to be a pipeline instead of conventional loops, like so

    ls -name -exclude *.ps1 | % {

       $d =$f -split "Netherlands"        

       Rename-Item $f $d[1]


    Powershell is severely under used and extremely powerful

  3. Manas – Thank you and yes, PowerShell is awesome

    Niclas – I can't believe I missed pipelines! 🙂 Thanks for pointing that out – so used to conventional programming that I've lost touch with my scripting skills. And I couldn't agree with you more on the last sentance – POWERShell is called so for a reason, right 😉