I was recently left a comment of a post
http://richardspowershellblog.wordpress.com/2009/11/30/updating-access-data/
asking about the how to get the count of files in a folder
There are a number of solutions including dropping back to the FileSystem object from VBscript
If we want just a PowerShell option
function filecount { param ( [string]$path ) if (-not (Test-Path $path)){Throw "Path: $path not found"} $count = 0 $count = Get-ChildItem -Path $path | where {!$_.PSIsContainer} | Measure-Object | select -ExpandProperty count Get-Item -Path $path | select PSDrive, @{N="Parent"; E={($_.PSParentPath -split "FileSystem::")[1]}}, Name, @{N="FileCount"; E={$count}} Get-ChildItem -Path $path | where {$_.PSIsContainer} | foreach { filecount $($_.Fullname) } } filecount "c:\scripts"
Supply a path to the top level folder for the filecount function
It will test if the folder exists & complain if it doesn’t.
We can then count the files in the folder using PSISContainer to filter out any subfolders and measure-object to perform the count.
Get-item is used on the path and piped into select where we split out the parent path and add the file count (that count be done with add-member as well
Get-ChildItem is used on the path and only folders are passed. The path of each subfolder is passed to the filecount function.
A function calling itself like this known as recursion