Powershell cmdlet to monitor file changes in a directory tree.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This powershell cmdlet continuously monitors a directory tree and write to the output the path of the file that has changed.

This allows you to create an script that for instance, run a suite of unit tests when an specific file has changed using powershell pipelining.


Download the psm1 file in My documents\WindowsPowershell\Modules\pswatch or simply run this one line installation script:

iex ((new-object net.webclient).DownloadString("http://bit.ly/Install-PsWatch"))


A simple example will be:

Import-Module pswatch

watch "Myfolder\Other" | %{
	Write-Host "$_.Path has changed!"
	RunUnitTests.exe $_.Path

You can filter by using powershell pipelining as follows:

watch | Get-Item | Where-Object { $_.Extension -eq ".js" } | %{
	do the magic...


The wacth cmdlet has the following parameters:

  • location: the directory to watch. Optional, default to current directory.
  • includeSubdirectories: default to true.
  • includeChanged: default to true.
  • includeRenamed: default to true.
  • includeCreated: default to true.
  • includeDeleted: default to false.