header image

The little changes that make a difference

Posted by: | November 27, 2014 Comments Off on The little changes that make a difference |

Each version of PowerShell introduces a new headline feature – remoting, workflows, DSC, OneGet in version 2,3,4 and 5 respectively. While this can change the way we work there are also a host of little changes that come along that are often overlooked.


One example is a change to Get-ChildItem introduced in PowerShell 3.0.


Consider getting a directory listing:

Get-ChildItem -Path C:\Windows


This will give all subfolders and file in the given folder.


If you just wanted the files you had to do this:

Get-ChildItem -Path C:\Windows | where {$_.PSIsContainer}


If you want just the files you use:
Get-ChildItem -Path C:\Windows | where {-not $_.PSIsContainer}


or the slightly shorter but not as easy to read:
Get-ChildItem -Path C:\Windows | where {!$_.PSIsContainer}


The PSIsContainer property name is not intuitive and I rarely remember the name exactly and try ISPSContainer first or some other variant.


Two additional filtering parameters were added to Get-ChildItem

Get-ChildItem -Path C:\Windows –Directory


Get-ChildItem -Path C:\Windows -File


produce listings of folders and files respectively.


A small simple change that makes life easier.


There are a lot of small changes like this scattered through the later PowerShell versions – I’d recommend going through the release notes to track down the ones that will be useful to you.

under: PowerShell Basics

Comments are closed.